我是iOS的相对较新的开发人员,并且正在编写一个用于处理网站上mp3文件中的流音频的应用程序。

我想在播放音频时播放音频,并且希望用户能够在音频中进行擦洗。

我看过其他帖子的用法

NSData *songData=[NSData dataWithContentsOfURL:url];
[[AVAudioPlayer alloc] initWithData:songData error:nil];

但是dataWithContentsOfURL:是同步的,将阻塞主线程,并且不会流式传输,也不是我想要的。

理想情况下,我正在寻找某种方式来访问收到的数据字节,将其存储在缓冲区中,然后在获取其余数据时在某个时候(不一定立即)播放可能不完整的缓冲区

我不确定是否可以使用AVPlayer做到这一点,或者是否需要研究Core Audio等。

有人可以给我正确的方向吗?

最佳答案

这是Apple提供的示例,说明如何接收流并对其进行解析。

Apple example

audioFileStreamParser Reference

10-08 01:23