Java 如何将报警音量设置为零?
我已经设法使用setStreamVolume和adjustStreamVolume与AudioManager来降低报警音量,但它在1时停止。对于其他音频流,如音乐和铃声,它们归零 有没有办法超越警报并将其设置为零 编辑:这是我的代码Java 如何将报警音量设置为零?,java,android-studio,Java,Android Studio,我已经设法使用setStreamVolume和adjustStreamVolume与AudioManager来降低报警音量,但它在1时停止。对于其他音频流,如音乐和铃声,它们归零 有没有办法超越警报并将其设置为零 编辑:这是我的代码 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int currentVolume = audio.getStreamVolume(AudioManager.S
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_ALARM);
audio.setStreamVolume(AudioManager.STREAM_ALARM, 0, 0);
int amendedVolume = audio.getStreamVolume(AudioManager.STREAM_ALARM);
对于STREAM_ALARM,maxVolume得到7,amendedVolume得到1。
如果我使用STREAM_MUSIC,则maxVolume为15,amendedVolume为0
使用adjustStreamVolume方法
audio.adjustStreamVolume(AudioManager.STREAM_ALARM, audio.ADJUST_LOWER, 0);
每次运行时,音量下降1。对于STREAM_RING,它下降到0,但对于STREAM_ALARM,它只下降到1
我不能使用setStreamMute,因为它在版本23中已被弃用
#2编辑:我尝试使用AudioManager.ADJUST_MUTE,如果转到音量控制屏幕,音量似乎设置为nothing,但当闹钟响起时仍有声音,检查其当前音量显示其实际设置为1
audio.setStreamVolume(AudioManager.STREAM_ALARM, AudioManager.ADJUST_MUTE, 0);
如果你将流静音,可能有一种方法。但是如果没有你的代码,我知道的就不多了。我已经添加了我的代码和更多的测试