关于以下内容的文档很少AVA音频混合 http://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVAudioMix_Class/Reference/Reference.html和 MTAudioProcessingTap,它允许将处理应用于 AVFoundation(在 iOS 上)中媒体资产的音轨(PCM 访问)。这article https://chritto.wordpress.com/2013/01/07/processing-avplayers-audio-with-mtaudioprocessingtap/我在 WWDC 2012 会议上找到的只是一个简短的提及。
我已经得到了描述的设置here https://chritto.wordpress.com/2013/01/07/processing-avplayers-audio-with-mtaudioprocessingtap/适用于本地媒体文件,但似乎不适用于远程文件(即 HLS 流 URL)。唯一表明这是预期的情况是本文末尾的注释技术问答 http://developer.apple.com/library/ios/#qa/qa1716/_index.html:
AVAudioMix 仅支持基于文件的资源。
有人对此了解更多吗?当资产不是基于文件时,真的没有办法访问音频 PCM 数据吗?谁能找到与 MTAudioProcessingTap 相关的实际 Apple 文档?
我注意到很多人在互联网上询问这个问题,普遍的共识似乎是这是不可能的。
事实证明是这样的 - 我最近在个人项目中对此进行了研究,并确定确实可以使 MTAudioProcessingTap 与远程流一起工作。技巧是KVO观察AVPlayerItem的状态;当它准备好播放时,您可以安全地检索底层 AVAssetTrack 并在其上设置 AudioMix。
我在这里用一些(主要是工作的)代码写了一个基本的文章:http://venodesigns.net/2014/01/08/recording-live-audio-streams-on-ios/ http://venodesigns.net/2014/01/08/recording-live-audio-streams-on-ios/
如果你已经设法处理这个问题,那么你就会拥有更多的权力,但我想我会回答这个问题,因为它很快就会在谷歌中出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)