AVPlayerItemVideoOutput是AVFoundation中AVPlayerItemOutput的子类,我可以获取像素缓冲区格式的可视数据并进行一些处理。 (通过copyPixelBufferForItemTime :)
但是,因此不存在AVPlayerItemAudioOutput。如何处理音频数据?
我是否必须使用AVAssetReader类来获取此信息?
最佳答案
这是一个很好的问题。 -[AVPlayerItem addOutput:]
提到了音频,但是在AVPlayerItemOutput.h
中找不到任何内容(除非您打算通过AVPlayerItemLegibleOutput
类获取音频-作为一个出售CMSampleBuffers
的类,我只是在开玩笑,我认为一个假想的AVPlayerItemAudioOutput
看起来像很像这样)。
所以我不知道AVPlayerItemAudioOutput
在哪里,但是是的,您可以使用AVAssetReader
获取音频数据。
但是,如果您已经在使用AVPlayer
,那么最轻松的方法就是使用MTAudioProcessingTap
扮演假设的AVPlayerItemAudioOutput
的角色。
您可以在inputParameters
的AVPlayer
的currentItem
的audioMix
中添加一个水龙头,以接收(甚至修改)所选音轨的音频。
读取some example code可能比解析我刚写的内容要容易。
关于ios - 为什么AVFoundation中不存在AVPlayerItemAudioOutput?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29431522/