iPhone游戏中的声音效果

时间:2009-10-20 14:50:30

标签: iphone audio core-audio openal

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

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

3 个答案:

答案 0 :(得分: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则具有更强大的功能。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您可能需要查看Finch,一个完全考虑到游戏的OpenAL音效引擎写作。