我正在我的iphone应用程序中播放音频文件,我从url中获取音频。播放时它停止了一段时间来缓冲。 完全加载后,如何在没有任何缓冲区或播放的情况下播放音频?
-(void) playAudio2
{
NSURL *url = [NSURL URLWithString:@"http:domain/iphonetest/mp3/sol.mp3"];
NSData *data = [NSData dataWithContentsOfURL:url];
audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:nil];
[audioPlayer setVolume:1];
[audioPlayer play];
}
答案 0 :(得分:0)
尝试使用NSURLConnection或AFNetworkingKit下载文件(有很多资源显示如何下载文件。只需搜索它。)
然后在NSURLConnection的-(void)connectionDidFinishLoading:(NSURLConnection *)connection
委托方法或AFNetworkingKit的completionBlock中,像你的代码一样播放文件。但是使用NSURL *url = [[NSURL alloc] initFileURLWithPath:sound_file]
初始化网址并在播放之前使用[audioPlayer prepareToPlay]
。