Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将报警音量设置为零?_Java_Android Studio - Fatal编程技术网

Java 如何将报警音量设置为零?

Java 如何将报警音量设置为零?,java,android-studio,Java,Android Studio,我已经设法使用setStreamVolume和adjustStreamVolume与AudioManager来降低报警音量,但它在1时停止。对于其他音频流,如音乐和铃声,它们归零 有没有办法超越警报并将其设置为零 编辑:这是我的代码 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int currentVolume = audio.getStreamVolume(AudioManager.S

我已经设法使用setStreamVolume和adjustStreamVolume与AudioManager来降低报警音量,但它在1时停止。对于其他音频流,如音乐和铃声,它们归零

有没有办法超越警报并将其设置为零

编辑:这是我的代码

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);

如果你将流静音,可能有一种方法。但是如果没有你的代码,我知道的就不多了。我已经添加了我的代码和更多的测试