- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
AVPlayerItemVideoOutput 是 AVFoundation 中 AVPlayerItemOutput 的子类,我可以获取像素缓冲区格式的视觉数据并进行一些处理。 (通过 copyPixelBufferForItemTime:)
但是,没有相应的 AVPlayerItemAudioOutput 存在。如何处理音频数据?
我必须使用 AVAssetReader 类来获取它吗?
最佳答案
这是一个很好的问题。 -[AVPlayerItem addOutput:]
提到了音频,但在 AVPlayerItemOutput.h
中找不到任何内容(除非您打算通过 AVPlayerItemLegibleOutput 获取音频
类 - 我只是半开玩笑,作为一个出售 CMSampleBuffers
的类,我认为一个假设的 AVPlayerItemAudioOutput
看起来很像这样)。
所以我不知道 AVPlayerItemAudioOutput
在哪里,但是您可以使用 AVAssetReader
获取音频数据。
但是,如果您已经在使用 AVPlayer
,您最轻松的方法是使用 MTAudioProcessingTap
来扮演假设的 AVPlayerItemAudioOutput
的角色.
您可以在AVPlayer
的currentItem
的audioMix
的inputParameters
中添加一个tap 来接收(甚至修改)您选择的音轨的音频。
可能更容易阅读some example code而不是解析我刚刚写的内容。
关于ios - 为什么 AVFoundation 中不存在 AVPlayerItemAudioOutput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431522/
AVPlayerItemVideoOutput 是 AVFoundation 中 AVPlayerItemOutput 的子类,我可以获取像素缓冲区格式的视觉数据并进行一些处理。 (通过 copyPi
我是一名优秀的程序员,十分优秀!