关于 AVAudioMix 的文档很少和 MTAudioProcessingTap,它允许处理应用于 AVFoundation(在 iOS 上)中媒体 Assets 的音轨(PCM 访问)。这article并且在 WWDC 2012 session 中的简短提及是我所找到的。
我已经得到描述的设置 here适用于本地媒体文件,但它似乎不适用于远程文件(即 HLS 流 URL)。唯一表明这是预期的迹象是此 Technical Q&A 末尾的注释:
AVAudioMix only supports file-based assets.
有没有人知道更多这方面的信息?当 Assets 不是基于文件时,真的没有办法访问音频 PCM 数据吗?谁能找到与 MTAudioProcessingTap 相关的实际 Apple 文档?
最佳答案
我注意到网上有很多人问过这个问题,普遍的共识似乎是这不可能。
结果是 - 我正在为最近的个人项目研究这个问题,并确定确实有可能使 MTAudioProcessingTap 与远程流一起工作。诀窍是KVObserve AVPlayerItem的状态;当它准备好播放时,您可以安全地检索底层 AVAssetTrack 并在其上设置 AudioMix。
我在这里用一些(主要是工作的)代码写了一篇基本的文章:http://venodesigns.net/2014/01/08/recording-live-audio-streams-on-ios/
如果您已经设法处理了这个问题,那么您将获得更多权力,但我想我会回答这个问题,因为它很快就会在 Google 中出现。
关于ios - 使用带有远程 URL 的 AVPlayer 的 MTAudioProcessingTap 进行 AVFoundation 音频处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16833796/