关于在音频队列/流媒体服务中使用AVAssetReader的全面教程



我正在开发一款应用程序,该应用程序允许用户在iphone上选择音乐曲目,收听并与另一个人实时共享,以便另一个人可以同步收听同一首歌曲。

我已经设法使以下原型工作:手动将一个文件添加到我正在使用的捆绑包中,然后使用AudioFileReadPackets对其进行解码,并使用GKSession在网络上发送它。

在接收端。。我使用音频队列/流媒体服务来读取流并播放音乐(即AudioFileStreamOpen、AudioFileStreamParseBytes、AudioQueueNewOutput、AudioQueueStart等。请参阅此处了解更多详细信息)。

也就是说,我发现我不能简单地从iphone的文件系统中读取文件并对其进行解码。相反,我必须使用AVAssetReader等等。在Stack Over Flow上有很多这样做的例子,但它们侧重于即时的技术实现,而不是解释全局。。我在苹果的开发者指南网站上找不到太多全面的指南或文档(例如,看看他们如何描述CMSampleBuffer参考;函数参数没有描述等)。

有什么链接/书籍等可以指引我在这里的正确方向吗?特别是访问iPod库中的音频文件,并使用AVAssetReader对其进行分割,使其可以通过网络以流媒体方式发送,通过音频队列/流媒体服务

播放

我发现这本书非常棒:学习核心音频:Mac和iOS 音频编程实践指南

最新更新