Как установить нулевую громкость будильника? - PullRequest
2 голосов
/ 14 июля 2020

Мне удалось использовать как setStreamVolume, так и adjustStreamVolume с AudioManager, чтобы уменьшить громкость будильника, но он останавливается на 1. Для других аудиопотоков, таких как musi c и рингтон, они go обнуляются. * Есть ли способ отменить сигнал тревоги и установить его на ноль?

Изменить: вот мой код.

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 я получаю 7 для maxVolume и 1 для измененногоVolume. Если я использую STREAM_MUSI C, я получаю 15 для maxVolume и 0 для amendedVolume.

Использование метода adjustStreamVolume

audio.adjustStreamVolume(AudioManager.STREAM_ALARM, audio.ADJUST_LOWER, 0);

Громкость уменьшается на 1 при каждом запуске. Для STREAM_RING он снижается до 0, но для STREAM_ALARM он снижается только до 1.

Я не могу использовать setStreamMute, поскольку он устарел в версии 23.

# 2 edit: Я пытался используйте AudioManager.ADJUST_MUTE, кажется, что громкость не устанавливается, если вы go на экране регулировки громкости, но когда будильник срабатывает, звук все еще звучит, и проверка его текущей громкости показывает, что она фактически установлена ​​на 1.

audio.setStreamVolume(AudioManager.STREAM_ALARM, AudioManager.ADJUST_MUTE, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...