无缓冲播放音频

时间:2013-04-11 12:14:33

标签: iphone ios avaudioplayer

我正在我的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];
    }

1 个答案:

答案 0 :(得分:0)

尝试使用NSURLConnection或AFNetworkingKit下载文件(有很多资源显示如何下载文件。只需搜索它。)

然后在NSURLConnection的-(void)connectionDidFinishLoading:(NSURLConnection *)connection委托方法或AFNetworkingKit的completionBlock中,像你的代码一样播放文件。但是使用NSURL *url = [[NSURL alloc] initFileURLWithPath:sound_file]初始化网址并在播放之前使用[audioPlayer prepareToPlay]