2011-03-29 123 views
5

我正在制作游戏。我有一些与声音有关的问题。系统声音忽略音量级别

我使用系统声音来确认播放器,当他/她按下按钮时。当其他声音播放时,这些声音尊重播放器设置的音量(我使用AVAudioPlayer s和AudioQueue s)。但是当系统声音只能播放时,它会忽略播放机设置的音量并以铃声音量播放。

如何强制系统声音尊重播放器设置的音量,即使没有其他声音播放?

+0

这是一个老问题,但是你是否考虑过在后台运行一个虚拟的AVAudioPlayer(一个带有循环播放器的非常简短的示例)。这很愚蠢,浪费资源,但它应该做到这一点。另外:是的,这很烦人! – kritzikratzi 2012-09-13 18:42:29

+0

@Aleksejs:你有没有想过这个?我遇到了同样的问题,如果可能的话,我想尽量避免使用AVAudioPlayer。 – Michael 2013-01-30 05:30:46

+0

@Michael Noup,我不断使用'AVAudioPlayer'作为背景音乐。我不知道这个问题的其他解决方案。 – 2013-01-30 10:40:58

回答

0

通过设备的音量控制或通过应用界面,您的播放器(我认为您的意思是玩游戏的人)是如何设置音量的?如果是后者,那么这将不起作用,因为系统声音应始终在设备音量上播放。

根据Multimedia Programming Guide,“声音在当前系统音频音量播放,没有可用的编程音量控制。”

我不知道为什么当AVAudioPlayer声音播放时,系统会发出声音改变音量的声音。如果是这样的话,当你没有播放其他声音时,你可以用AVAudioPlayer来播放一个无声的声音吗?否则,我会尝试使用AVAudioPlayer播放所有声音,以便您可以直接控制音量。

+0

玩家可以通过iPhone侧的音量按钮控制音量。 – 2011-05-03 17:11:14

3

假设你意味着玩家正在使用的设备上的侧面音量按钮设置音量:

我有同样的问题越来越SystemSound尊重音量按钮,但在“设置” /“声音找到了一个设置“/”林格和警报“/”按钮更改“默认为”关“。将其切换为“开”使其起作用。