Swift: AVAudioPCMBuffer vs AVAudioBuffer vs AVAudioCompresse



我目前正在使用Avaudiopcmbuffer在简单的游戏中播放.wav文件。但是,在检查文档时,我遇到了其他两种类型的缓冲区,我从未在其他任何地方见过:标题中的一个:avaudiobuffer和avaudiocompressedbuffer。

我应该使用哪个缓冲区,为什么?任何帮助将不胜感激!

AVAudioBufferAVAudioPCMBufferAVAudioCompressedBuffer的超类。

您不必在实践中处理AVAudioBuffer,通常您只使用其子类。

  • AVAudioPCMBuffer用于播放未压缩的PCM编码数据(例如.WAV文件包含的内容(
  • AVAudioCompressedBuffer支持不同的压缩格式(请参阅iPhone中支持的音频文件格式(

对于您的特定用例,我建议使用一种更简单的方式播放文件:AVAudioFile(forReading: URL)您可以使用scheduleFile(_:, at:)直接将其送入AVAudioPlayerNode,从而自动处理缓冲。

最新更新