将AVPlayer音频输出路由到AVAudioEngine



由于我的应用程序音频内容的丰富性和复杂性,我使用AVAudioEngine来管理整个应用程序中的所有音频。我正在将每个音频源转换为AVAudioEngine图中的一个节点。

例如,我使用AVAudioPlayer对象在应用程序中播放mp3文件,而是使用这些音频文件的缓冲区创建AVAudioPlayerNode对象。

然而,我的应用程序中确实有一个视频播放器,可以使用AVPlayer框架播放带有音频的视频文件(我不知道iOS中还有什么可以播放视频文件(。不幸的是,我似乎无法获得音频输出流作为AVAudioEngine图中的节点。

有指针吗?

如果您有一个视频文件,您可以提取音频数据并将其从视频中提取出来。

然后您可以将AVPlayer的音量设置为0。(如果您没有从视频中删除音频数据(和播放AVAudioPlayerNode。

如果您通过网络接收到视频数据,则应制作数据包的解析器并对其进行分割。

但AV同步是一件非常困难的事情

最新更新