所以我有一个可以播放许多简短声音剪辑的应用程序。我需要知道声音何时播放完毕,并且我需要使用 mp3,因此我使用 AVFoundation 进行声音播放。

当正在播放声音并且用户使用硬件音量按钮时,播放音量会发生变化。问题是,该应用程序不会不断播放声音,如果不播放声音,并且使用硬件按钮,则会调整 RINGER 音量。

我该如何设置,以便只要应用程序运行,用户就可以调节播放音量?

谢谢!

有帮助吗?

解决方案

事实证明,这可以通过使用任何有效的声音文件分配 AVAudioPlayer 并调用 prepareToPlay 方法来完成,而无需调用 play 方法

完美无缺。

其他提示

启动AudioSession ,不要在播放声音时停止播放。

所以只要应用程序正在运行,你想要禁用铃声播放音量?因此硬件控制只会调整应用程序播放声音?

除非你“总是在播放声音”,否则我认为这是不可能的。例如,许多游戏总是播放背景音乐或者你有什么。

只要您的应用程序正在运行,您就可以通过不断播放 0 音量的声音来实现此目的。然后您可以在其上播放声音剪辑。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top