我有一个具有各种视图的应用程序。主菜单没有任何声音,但下一个视图使用 AVAudioPlayer 类播放声音。
因此,当有人启动应用程序并在主菜单中时,如果他更改设备上的音量,他实际上会更改“铃声”音量。如果他继续到其他视图(我们有声音的地方),当他改变设备上的音量时,他改变了游戏的音量,而不是铃声。
在我创建任何 AVAudioPlayer 实例之前,有没有办法让他们每次从我的应用程序开始更改应用程序音量?(有些人误解了。我的意思是每次按下音量按钮时操作系统都会覆盖在屏幕上的那个方块。如果您在主屏幕上,则更改“铃声”。当您在游戏中时,您会更改应用程序的音量)。
PS:我在主菜单上初始化了 AudioSession,但这没有任何区别。我发现的唯一技巧是在我的主菜单上实际创建一个 AVAudioPlayer 实例并将其设置为“preparedToPlay”。但我宁愿听听其他人在做什么(一个适当的解决方案)。