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