使用AVPlayer的MTAudioProcessingTap和远程URL进行AVFoundation音频处理

时间:2013-05-30 10:30:04

标签: ios ios6 avfoundation avplayer audio-processing

AVAudioMix和MTAudioProcessingTap上有很少的文档,它们允许将处理应用于AVFoundation(在iOS上)的媒体资产的音轨(PCM访问)。这篇article以及WWDC 2012会议中的简短提及是我所发现的。

我已经为here设置了适用于本地媒体文件的设置,但它似乎不适用于远程文件(即HLS流式URL)。预期这一点的唯一迹象是此Technical Q&A末尾的注释:

  

AVAudioMix仅支持基于文件的资产。

有人知道更多吗?当资产不是基于文件时,真的没有办法访问音频PCM数据吗?任何人都可以找到与MTAudioProcessingTap相关的实际Apple文档吗?

1 个答案:

答案 0 :(得分:4)

我注意到很多人在互联网上询问这个问题,而且普遍的共识似乎是不可能。

原来是 - 我正在研究最近的个人项目,并确定MTAudioProcessingTap确实可以使用远程流。诀窍是KVObserve AVPlayerItem的状态;当它准备好播放时,你可以安全地检索底层AVAssetTrack并在其上设置AudioMix。

我在这里用一些(主要是工作的)代码进行了基本的编写:http://venodesigns.net/2014/01/08/recording-live-audio-streams-on-ios/

如果你已经成功处理了这个问题,那么对你有更大的帮助,但我想我会回答这个问题,因为谷歌很快就会出现这个问题。