我知道 OpenAL 是一个快速的库,但它不支持任何压缩音频格式,而且使用起来并不容易......
AVAudioPlayer 不是那么快,但支持广泛的文件格式,以及 mp3 等压缩格式。
还有一个可以播放声音的 SKAction 类,以及 SystemSoundID ...
我有几个问题:
最佳答案
我个人使用 ObjectAL .这很好,因为它利用了 OpenAL 和 AVAudioPlayer,但从您那里抽象了许多复杂的部分。我的游戏有背景音乐、大量同时播放的声音,以及根据 Sprite 速度增加音量、音高等的可循环声音。 ObjectAL 可以做到这一切。
ObjectAL 可用于使用它的 OALSimpleAudio 类播放简单的声音和音乐循环。或者你可以更深入地研究它并做更复杂的事情。
我专门为我的游戏创建了一个围绕 ObjectAL 的简单包装器,因此它进一步抽象了我。
从我读过的内容来看,未压缩的音频更好。你只需要确保你预加载了声音,这样你的游戏就不会在每次播放声音时尝试拉取文件。
关于sprite-kit - OpenAL 与 AVAudioPlayer 与其他播放声音的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286767/