sprite-kit - OpenAL 与 AVAudioPlayer 与其他播放声音的技术

标签 sprite-kit avaudioplayer openal skaction

我知道 OpenAL 是一个快速的库,但它不支持任何压缩音频格式,而且使用起来并不容易......

AVAudioPlayer 不是那么快,但支持广泛的文件格式,以及 mp3 等压缩格式。

还有一个可以播放声音的 SKAction 类,以及 SystemSoundID ...

我有几个问题:

  • 什么是首选的游戏方式/玩家/技术:
  • 音效(当时有多个)?
  • 有时可以在小时间延迟后重复的声音效果
  • 循环播放的背景音乐
  • 另外,使用未压缩的音频来制作音效是明智之举吗?我想这没问题,因为这些文件还是很小?
  • 最佳答案

    我个人使用 ObjectAL .这很好,因为它利用了 OpenAL 和 AVAudioPlayer,但从您那里抽象了许多复杂的部分。我的游戏有背景音乐、大量同时播放的声音,以及根据 Sprite 速度增加音量、音高等的可循环声音。 ObjectAL 可以做到这一切。

    ObjectAL 可用于使用它的 OALSimpleAudio 类播放简单的声音和音乐循环。或者你可以更深入地研究它并做更复杂的事情。

    我专门为我的游戏创建了一个围绕 ObjectAL 的简单包装器,因此它进一步抽象了我。

    从我读过的内容来看,未压缩的音频更好。你只需要确保你预加载了声音,这样你的游戏就不会在每次播放声音时尝试拉取文件。

    关于sprite-kit - OpenAL 与 AVAudioPlayer 与其他播放声音的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286767/

    相关文章:

    iphone - iPhone 上 OpenAL 声音缓冲区的最大数量

    swift - 设计圆以外的物理体

    ios - 如何通过 zRotation 约束阻止我的角色过度旋转?

    ios - 静音按钮不会使 AVAudioPlayer 静音

    ios - 如何停止在 Xcode 中播放不同类的背景音乐?

    ios - Swift:如果加载超过 49 个声音文件,SwiftySound 初始化错误

    ios - OpenAL 只适用于 caff 格式的音频文件吗

    c++ - OpenAL 2d 平移 C++

    ios - 将 ViewController 与场景一起呈现

    ios - SKNode线程安全吗?