3

我正在为 iPhone 制作一个 opengl 游戏。我即将开始为应用程序添加音效。我想知道为此目的最好的框架是什么。

AV基础是我最好的选择吗?我还缺少其他任何人,比如 Open AL 吗?

4

3 回答 3

19

从游戏角度对 iPhone 声音 API 的一般优势/劣势总结:

  • AVFoundation:播放长压缩文件。没有低级访问,高延迟。适合主题曲或背景音乐。对短暂的影响不利。
  • 系统声音:播放短促(想想 0-5 秒)的声音。必须是 .aif、.wav 或 .caf 中的 PCM 或 IMA4。即发即弃(一旦开始就无法停止)。基于 C 的 API。适用于短音效(点击、点击、砰砰声、崩溃)
  • OpenAL:3D 空间化音频。API 类似于 OpenGL,是它的自然伴奏。易于混合多个来源。音频需要 PCM(可能由 Core Audio 的“音频文件服务”加载)。相当重要的低级访问。潜在的非常低的延迟。
  • 音频队列:从您提供的源流播放(从文件读取、从网络读取、软件合成等)。基于 C。可以是相当低的延迟。对于许多游戏任务来说并不是很理想:背景音乐更适合 AVFoundation,更短的声音适合系统声音,以及混音适合 OpenAL 或音频单元。可以从麦克风录音。
  • 音频单元:Core Audio 的最低公共级别。极低的延迟(< 30 ms)。C,以及核心 C。一切都必须是 PCM。多通道混音器单元可让您混合音源。可以录音。

确保您正确设置了音频会话,这意味着您声明了一个类别,指示您如何与设备上的其余音频交互(允许/禁止在后台播放 iPod、尊重/忽略响铃/静音开关等)。AV Foundation 有这个的 Obj-C 版本,Core Audio 有更强大的等价物。

于 2009-10-20T19:19:52.840 回答
1

Kowalski是另一个在 iPhone/iPad(以及 OSX 和 Windows)上运行的面向游戏的声音引擎。

于 2011-01-27T11:08:15.460 回答
0

您可能想查看Finch,这是一个完全考虑游戏的 OpenAL 音效引擎编写者。

于 2010-10-12T15:20:04.333 回答