我在网址http://mysite.com/MP3/track1.mp3上有一个mp3曲目。 使用NSURLConnection和NSDocumentDirectory将其下载到本地路径。 我想尽快开始播放此曲目,而不是在完全下载后播放。有一段时间来完成这个吗?我尝试设置“X”大小限制,一旦下载到该号码开始播放音轨。但这只能达到初始化为“X”尺寸的程度。提前致谢。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[self.inComingData appendData:data];
//NSLog(@"inComingData: %d", [inComingData length]);
CGFloat dataLen = [[NSString stringWithFormat:@"%d",[self.inComingData length]] floatValue];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
appDelegate.path = [documentDirectory stringByAppendingPathComponent:@"track.mp3"];
[self.inComingData writeToFile:appDelegate.path atomically:YES];
// NSInteger receivedLen = [self.inComingData length];
// if ((receivedLen >= 100000) && (!checked)) {
// //[appDelegate initAndPlay];
// [appDelegate playTrack];
// checked = TRUE;
// }
[appDelegate initPlayer];
}
答案 0 :(得分:3)
您应该考虑使用CoreAudio或AudioToolbox,而不是使用AVFoundation。
Matt Gallagher使用AudioToolbox为这个确切的情况提供了一个很好的教程: http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html