使用AVFoundation或CoreAudio从文件或缓冲区解码/转换音频时应该使用什么



我想解码缓冲区或音频文件中的音频,并将其写入缓冲区以便在macOS和iOS上播放(我不想将其直接路由到硬件(。如果支持的话,我也想把它转换成另一种格式。我应该使用AVFoundation/CoreAudio API中的哪些类/服务来实现这一点?

AVFoundation有一些类可以做所有这些事情。

  1. AVAudioFile,用于将音频从文件解码到PCM(AVAudioPCMBuffer(
  2. 用于在格式之间转换的AVAudioConverter
  3. AVAudioEngine与可以回放AVAudioPCMBufferAVAudioPlayerNode

如果您需要对延迟、设备进行更多控制,或者如果您在AVFoundation中遇到错误,您可能会选择使用CoreAudioAudioToolbox

最新更新