AVPlayerItemAudioOutput

AVPlayerItemAudioOutput

AVPlayerItemVideoOutput是AVFoundation中AVPlayerItemOutput的子类,我可以获取像素缓冲区格式的可视数据并进行一些处理。 (通过copyPixelBufferForItemTime :)

但是,因此不存在AVPlayerItemAudioOutput。如何处理音频数据?

我是否必须使用AVAssetReader类来获取此信息?

最佳答案

这是一个很好的问题。 -[AVPlayerItem addOutput:]提到了音频,但是在AVPlayerItemOutput.h中找不到任何内容(除非您打算通过AVPlayerItemLegibleOutput类获取音频-作为一个出售CMSampleBuffers的类,我只是在开玩笑,我认为一个假想的AVPlayerItemAudioOutput看起来像很像这样)。

所以我不知道AVPlayerItemAudioOutput在哪里,但是是的,您可以使用AVAssetReader获取音频数据。

但是,如果您已经在使用AVPlayer,那么最轻松的方法就是使用MTAudioProcessingTap扮演假设的AVPlayerItemAudioOutput的角色。

您可以在inputParametersAVPlayercurrentItemaudioMix中添加一个水龙头,以接收(甚至修改)所选音轨的音频。

读取some example code可能比解析我刚写的内容要容易。

关于ios - 为什么AVFoundation中不存在AVPlayerItemAudioOutput?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29431522/

10-09 01:26