ios - 使用带有远程 URL 的 AVPlayer 的 MTAudioProcessingTap 进行 AVFoundation 音频处理

标签 ios ios6 avfoundation avplayer audio-processing

关于 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/

相关文章:

ios - Objective-C:在 iOS 上使用 AVFoundation 录制视频时静音/取消静音

ios - 透明 View 是黑色的?

iphone - 如何将图像保存到相机胶卷?

iphone - 必须使用事件访问 token 来查询有关当前用户的信息

ios - Collection View Controller 单元格间距

iphone - 如何将 iPhone 摄像头拍摄的视频发送到服务器进行直播?

arrays - 从 plist 加载时基于 MapKit 的应用程序崩溃

ios - 如何在 iOS 中的歌曲加载时间显示事件指示器

objective-c - IOS & Objective C - 我如何解决这个错误 "implicit declaration of function "class_getname "is invalid in c99"?

iphone - SceneKit – AVPlayer Material 崩溃