iPhone Media Player Framework访问原始文件

时间:2011-03-22 09:59:47

标签: iphone objective-c c audioqueueservices mediaplayerservices

我有兴趣在iPhone上使用Media Player框架来访问用户库中的音频。我希望能够加载给定的音频文件,然后对其执行一些专门的过滤。

理想情况下,我希望能够直接加载音频文件(或其部分用于流式传输),然后使用音频转换器服务执行解压缩。一旦我有线性PCM数据,我想在将音频直接提供给音频队列之前对其进行一些过滤。

这可以在iPhone上使用吗?

如果有,有人能告诉我如何直接访问音频文件吗?是否只是使用“URL”来加载它使用NSFile(大概我是通过MPMediaItemPropertyAssetURL获得的)?或者我需要做一些更复杂的事情吗?

干杯!

1 个答案:

答案 0 :(得分:2)

您从MPMediaItemPropertyAssetURL获取的网址是资产库网址。您可以使用它来初始化AVURLAsset。然后使用资源创建AVAssetReader并添加AVAssetReaderOutputAVAssetReaderAudioMixOutputAVAssetReaderTrackOutput的实例,具体取决于您的需要)。后一个对象最终将允许您访问媒体数据(-copyNextSampleBuffer)。