在ios设备上,可以告诉AVAssetReaderOutput
仅使用基于软件的解码器(即kAppleSoftwareAudioCodecManufacturer
而不是kAppleHardwareAudioCodecManufacturer
)?
我发现使用AudioToolbox中的音频格式服务是可行的,但是我没有看到如何将其转移到AVFoundation。
原因是我想在iPodMusicPlayer正在播放时从itunes库解码压缩音频 - 由于硬件辅助解码不支持同时解码多首歌曲,我的应用程序需要使用软件解码(右?)
我宁愿不将软件解码分为两步(即将压缩文件导出到app沙箱,然后使用AudioToolbox打开)。
答案 0 :(得分:0)
好吧,虽然我还没有找到在AVFoundation中指定软件解码器的方法,但我最终解决了这个问题,方法是用AVAssetReaderTrackOutput读取压缩歌曲文件的每个轨道,然后将压缩缓冲区传递给AudioConverterRef。 / p>