所以我有一个可以播放许多短声音片段的应用程序。我需要知道声音何时播放完毕,并且我需要使用 mp3,所以我使用 AVFoundation 进行声音播放。
当声音正在播放时,并且用户使用硬件音量按钮,播放音量会发生变化。问题是,该应用程序不会一直播放声音,如果不是,并且使用了硬件按钮,则会调整 RINGER 音量。
我该如何设置,只要应用程序在运行,用户就可以调节播放音量?
谢谢!
所以我有一个可以播放许多短声音片段的应用程序。我需要知道声音何时播放完毕,并且我需要使用 mp3,所以我使用 AVFoundation 进行声音播放。
当声音正在播放时,并且用户使用硬件音量按钮,播放音量会发生变化。问题是,该应用程序不会一直播放声音,如果不是,并且使用了硬件按钮,则会调整 RINGER 音量。
我该如何设置,只要应用程序在运行,用户就可以调节播放音量?
谢谢!
事实证明,这可以通过AVAudioPlayer
使用任何有效的声音文件分配一个并调用该prepareToPlay
方法来完成,而无需调用该play
方法。
完美运行。
启动 AudioSession并且在不播放声音时不要停止它。
所以你想在应用程序运行时禁用铃声播放音量?因此硬件控件只会调整应用程序的播放声音?
我认为这是不可能的,除非你“总是在播放声音”,例如,许多游戏总是在播放背景音乐或你有什么。
只要您的应用程序正在运行,您就可以通过不断播放 0 音量的声音来完成此操作。然后你可以在它上面播放你的声音片段。