我在某个 URL 处有一个 mp3 曲目http://mysite.com/MP3/track1.mp3 http://mysite.com/MP3/track1.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];
}
您可能应该考虑使用 CoreAudio 或 AudioToolbox,而不是使用 AVFoundation。
Matt Gallagher 使用 AudioToolbox 针对这种具体情况提供了一个很好的教程:http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)