为AVAssetReaderAudioMixOutput指定基于软件的编解码器?

时间:2011-02-12 00:02:23

标签: ios audio avfoundation codec audiotoolbox

在ios设备上,可以告诉AVAssetReaderOutput仅使用基于软件的解码器(即kAppleSoftwareAudioCodecManufacturer而不是kAppleHardwareAudioCodecManufacturer)?

我发现使用AudioToolbox中的音频格式服务是可行的,但是我没有看到如何将其转移到AVFoundation。

原因是我想在iPodMusicPlayer正在播放时从itunes库解码压缩音频 - 由于硬件辅助解码不支持同时解码多首歌曲,我的应用程序需要使用软件解码(右?)

我宁愿不将软件解码分为两步(即将压缩文件导出到app沙箱,然后使用AudioToolbox打开)。

1 个答案:

答案 0 :(得分:0)

好吧,虽然我还没有找到在AVFoundation中指定软件解码器的方法,但我最终解决了这个问题,方法是用AVAssetReaderTrackOutput读取压缩歌曲文件的每个轨道,然后将压缩缓冲区传递给AudioConverterRef。 / p>