iPhone游戏中的音效

发布于 2024-08-07 20:58:06 字数 113 浏览 5 评论 0原文

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

AV 粉底是我最好的选择吗?我还缺少其他人吗,比如 Open AL?

I'm making an opengl game for iPhone. And I'm about to start adding sound effects to the app. I wonder what's the best framework for this purpose.

Is AV foundation my best option? Any others I'm missing, like Open AL perhaps?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

抽个烟儿 2024-08-14 20:58:06

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

  • AVFoundation:播放长压缩文件。无低级访问,高延迟。适合主题曲或背景音乐。不利于短期效果。
  • 系统声音:播放短声(0-5 秒)。 .aif、.wav 或 .caf 中的格式必须是 PCM 或 IMA4。一劳永逸(一旦开始就无法停止)。基于 C 的 API。适用于短音效(敲击声、咔哒声、爆炸声、碰撞声)
  • OpenAL:3D 空间化音频。 API 类似于 OpenGL,并且是它的自然补充。轻松混合多个来源。音频需要是 PCM(可能由 Core Audio 的“音频文件服务”加载)。相当重要的低级访问。潜在的延迟非常低。
  • 音频队列:从您提供的源进行流式播放(从文件、网络、软件合成等读取)。基于C。延迟可以相当低。对于许多游戏任务来说并不是非常理想:背景音乐更适合 AVFoundation,较短的声音更适合系统声音,以及混合到 OpenAL 或音频单元。可以从麦克风录音。
  • 音频单元:核心音频的最低公共级别。极低的延迟(< 30 毫秒)。 C,而且是硬核 C。一切都必须是 PCM。多通道混音器单元可让您混合源。可以录音。

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

General strength/weakness summary of iPhone sound APIs from a game perspective:

  • AVFoundation: plays long compressed files. No low-level access, high latency. Good for theme song or background music. Bad for short-lived effects.
  • System sounds: plays short (think 0-5 sec) sounds. Must be PCM or IMA4 in .aif, .wav, or .caf. Fire-and-forget (can't stop it once it starts). C-based API. Appropriate for short sound effects (taps, clicks, bangs, crashes)
  • OpenAL: 3D spatialized audio. API resembles OpenGL and is a natural accompaniment to it. Easy to mix multiple sources. Audio needs to be PCM (probably loaded by Core Audio's "Audio File Services"). Pretty significant low-level access. Potentially very low latency.
  • Audio Queue: stream playback from a source you provide (reading from file, from network, software synthesis, etc.). C-based. Can be fairly low-latency. Not really ideal for a lot of game tasks: background music is better suited to AVFoundation, shorter sounds to system sounds, and mixing to OpenAL or Audio Units. Can record from mic.
  • Audio Units: lowest public level of Core Audio. Extremely low latency (< 30 ms). C, and hard-core C at that. Everything must be PCM. Multi-channel mixer unit lets you mix sources. Can record.

Be sure you set up your audio session appropriately, meaning you declare a category that indicates how you interact with the rest of audio on the device (allow/disallow iPod playback in the background, honor/ignore ring/silent switch, etc.). AV Foundation has the Obj-C version of this, and Core Audio has somewhat more powerful equivalents.

紫瑟鸿黎 2024-08-14 20:58:06

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

Kowalski is another game oriented sound engine that runs on the iPhone/iPad (and OSX and Windows).

南城旧梦 2024-08-14 20:58:06

您可能想看看 Finch,这是一个完全以游戏为中心的 OpenAL 音效引擎编写者。

You might want to check out Finch, an OpenAL sound effect engine writter exactly with games in mind.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文