1

我目前正在使用 AVAudioPCMBuffer 在一个简单的游戏中播放 .wav 文件。但是,在查看它的文档时,我发现了另外两种我从未在其他任何地方见过的缓冲区,标题中的缓冲区:AVAudioBuffer 和 AVAudioCompressedBuffer。

我的问题是,我应该使用哪一个,为什么?我试图找出另外两个,但我找不到一个例子。任何帮助,将不胜感激!

4

1 回答 1

2

AVAudioBuffer是 和 的超AVAudioPCMBufferAVAudioCompressedBuffer

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

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

对于您的特定用例,我建议使用更简单的方法来播放文件:AVAudioFile(forReading: URL)您可以直接将其输入到AVAudioPlayerNodeusingscheduleFile(_:, at:)中,该 using 将自动处理缓冲。

于 2017-06-26T19:21:43.227 回答