AudioServices(Easy),AVAudioPlayer(Medium),OpenAL(Hard& Overkill?)

时间:2011-02-03 07:15:43

标签: iphone objective-c openal

我需要在整个iphone应用程序中播放声音(每个约5秒)。当它们被触发时,它们需要立即播放。

目前我正在使用AudioServices和(你可能已经知道)第一次播放声音时它会滞后,然后每次都在完美之后。是否有一些可用的代码可以预先加载AudioServices声音(通过静默播放它可能?)。我已经读过以编程方式调整系统卷会让你的应用程序被拒绝,所以这不是一个选项。似乎AudioServices不是我能看到的音量修正。

我已经研究过OpenAL,虽然可行但似乎有点过分了。 AVAudioPlayer似乎是一个更好的选择,我目前正在使用它作为背景音乐。扩展我的音乐播放器以处理“声板”可能是我的最后手段。

关于OpenAL的主题,有没有人知道一个适合iPhone的适合(app store友好)OpenAL包装器的地方?

提前致谢

2 个答案:

答案 0 :(得分:1)

如果您使用AVAudioPlayer,则可以在初始化对象时调用prepareToPlay以减少调用play和启动音频之间的延迟。

答案 1 :(得分:1)

Finch可能非常适合你。它是OpenAL的一个小包装器,具有极低的延迟和简单的API。另请参阅所有SO questions tagged ‘Finch’