我正在开发一个Android闹钟应用,并且正在使用STREAM_ALARM
播放闹钟音频。当我在闹钟播放音频的过程中插入耳机时,音频开始在耳机中播放,但仍继续在扬声器中播放。
但是我想使扬声器静音,以便用户可以插入耳机并继续收听音频而不会打扰周围的任何人。这可能是不正常的行为,但这对于此特定的闹钟应用程序来说非常重要。
也许我可以使用STREAM_MUSIC
,但是:
Unless your app is an alarm clock, you should play audio using the STREAM_MUSIC stream.
STREAM_MUSIC
不会这样做。可能有workarounds,但我需要100%的可靠性,因此,最好的解决方法是在需要时使扬声器静音,而不是在需要时使扬声器静音。那么,是否可以选择强制扬声器保持静音?可能需要一些反思?
我也在考虑将ActionHeadsetPlug
上的流类型更改为STREAM_MUSIC
,但是这需要停止音频,重新创建MediaPlayer
实例,寻找到上一个位置,重新绑定任何事件,其他逻辑等。我的用例需要大量工作。如果可能的话,使扬声器静音绝对会更好。