我正在开发游戏。我对声音有一些问题。
当他/她按下按钮时,我使用系统声音来确认玩家。当播放其他声音时(我使用AVAudioPlayer
s 和AudioQueue
s),这些声音尊重播放器设置的音量。但是当系统声音只是播放时,它会忽略播放器设置的音量并以铃声的音量播放。
即使没有播放其他声音,如何强制系统声音尊重玩家设置的音量?
我正在开发游戏。我对声音有一些问题。
当他/她按下按钮时,我使用系统声音来确认玩家。当播放其他声音时(我使用AVAudioPlayer
s 和AudioQueue
s),这些声音尊重播放器设置的音量。但是当系统声音只是播放时,它会忽略播放器设置的音量并以铃声的音量播放。
即使没有播放其他声音,如何强制系统声音尊重玩家设置的音量?
假设您的意思是玩家正在使用设备上的侧面音量按钮设置音量:
我在让 SystemSound 尊重音量按钮时遇到了同样的问题,但在“设置”/“声音”/“铃声和警报”/“使用按钮更改”中找到了一个默认设置为“关闭”的设置。将其切换为“ON”使其工作。
您的玩家(我假设您是指玩游戏的人)如何设置音量——通过设备的音量控制,或通过您的应用程序界面?如果是后者,那么这将不起作用,因为系统声音应始终以设备音量播放。
根据多媒体编程指南,“声音以当前系统音量播放,没有可用的程序音量控制。”
我不知道为什么播放 AVAudioPlayer 声音时您的系统声音会改变音量。如果是这种情况,您可以在不播放其他声音时使用 AVAudioPlayer 循环播放无声的声音吗?否则,我会尝试使用 AVAudioPlayer 播放所有声音,以便您可以直接控制音量。