【发布时间】:2009-12-03 12:01:54
【问题描述】:
好的。如果使用系统声音服务来获得 iPhone 音效,则无法以编程方式更改生成的声音的级别。更糟糕的是,如果使用 iPhone 侧面的铃声音量控制将音量降低到非常低的水平,然后启动应用程序,声音效果将听不见。另一方面,如果在启动应用程序之前将硬件级别提高到最大,声音效果会令人不舒服。出于所有意图和目的,这使得系统声音 API 无用(或至少不明智)。所有这些对于 iPod 来说都是没有意义的,因为它没有显示这种行为(毕竟,它不是电话.)
我决定使用 AVAudioplayer 来播放音效。在 iPhone SDK 3.1 下,我现有的 aiff 文件(主要是 u-law 格式)可以正常工作,但它们无法在 SDK 3.0 下播放,并且我收到一条错误消息,提示找不到编解码器。根据 Apple 的文档,我可以使用 caf 保护伞下任何受支持的文件格式,但必须有可用的编解码器。
我努力搜索,但虽然我找到了适用于 Mac OS X 的编解码器列表,但我找不到适用于 iPhone 的编解码器列表,尤其是 SDK 3.0 的编解码器列表。谁能指点我这样的清单?我希望我的游戏(Imp 还是 Oaf?)能够在 OS 3.0 及更高版本上运行。我可以使用 mp3 文件,但存在延迟问题。
谢谢, 丹
【问题讨论】: