我目前正在使用Avaudiopcmbuffer在简单的游戏中播放.wav文件。但是,在检查文档时,我遇到了其他两种类型的缓冲区,我从未在其他任何地方见过:标题中的一个:avaudiobuffer和avaudiocompressedbuffer。
我应该使用哪个缓冲区,为什么?任何帮助将不胜感激!
AVAudioBuffer
是 AVAudioPCMBuffer
和 AVAudioCompressedBuffer
的超类。
您不必在实践中处理AVAudioBuffer
,通常您只使用其子类。
-
AVAudioPCMBuffer
用于播放未压缩的PCM编码数据(例如.WAV文件包含的内容( -
AVAudioCompressedBuffer
支持不同的压缩格式(请参阅iPhone中支持的音频文件格式(
对于您的特定用例,我建议使用一种更简单的方式播放文件:AVAudioFile(forReading: URL)
您可以使用scheduleFile(_:, at:)
直接将其送入AVAudioPlayerNode
,从而自动处理缓冲。