2

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

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

这是可能的iPhone?

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

干杯!

回答

2

您从MPMediaItemPropertyAssetURL得到的URL是一个资产库URL。你可以用它来初始化一个AVURLAsset。然后用该资产创建一个AVAssetReader,并添加一个AVAssetReaderOutput(实例AVAssetReaderAudioMixOutputAVAssetReaderTrackOutput,具体取决于您的需要)。后一个对象最终会让您访问媒体数据(-copyNextSampleBuffer)。