我有兴趣在iPhone上使用Media Player框架来访问用户库中的音频。我希望能够加载给定的音频文件,然后对其执行一些专门的过滤。
理想情况下,我希望能够直接加载音频文件(或其部分用于流式传输),然后使用音频转换器服务执行解压缩。一旦我有线性PCM数据,我想在将音频直接提供给音频队列之前对其进行一些过滤。
这可以在iPhone上使用吗?
如果有,有人能告诉我如何直接访问音频文件吗?是否只是使用“URL”来加载它使用NSFile(大概我是通过MPMediaItemPropertyAssetURL获得的)?或者我需要做一些更复杂的事情吗?
干杯!
答案 0 :(得分:2)
您从MPMediaItemPropertyAssetURL
获取的网址是资产库网址。您可以使用它来初始化AVURLAsset
。然后使用资源创建AVAssetReader
并添加AVAssetReaderOutput
(AVAssetReaderAudioMixOutput
或AVAssetReaderTrackOutput
的实例,具体取决于您的需要)。后一个对象最终将允许您访问媒体数据(-copyNextSampleBuffer
)。