Изменение громкости для одного звука будильника только на Android - PullRequest
3 голосов
/ 28 марта 2012

Я работаю над спасательным медицинским приложением, и если пользователь находится в опасной для жизни ситуации, он должен услышать предупреждение.

Когда у меня есть уведомление в строке состояния или появляется диалоговое окно для критического сообщения для пользователя, мне нужно привлечь их внимание.Если громкость мультимедиа или громкость звонка низкая или отключена, я хочу переопределить ее только для моего оповещения.Я бы предпочел не менять настройки телефона, только для моего единственного звука, который я хочу воспроизвести.

Когда я пытаюсь:

AudioManager audioManager = (AudioManager)getSystemService(this.AUDIO_SERVICE);  
audioManager.setStreamVolume(AudioManager.STREAM_RING, 
    audioManager.getStreamMaxVolume(AudioManager.STREAM_RING), 0); 

Это правильно устанавливает громкость для моего потока, но имеет побочный эффект изменения громкости потока для всех остальных.

Есть ли способ установить громкость только для одной песни?

1 Ответ

2 голосов
/ 28 марта 2012

Может быть возвращено после завершения песни.

AudioManager audioManager = (AudioManager)getSystemService(this.AUDIO_SERVICE);
int current_volume=audioManager.getStreamVolume(AudioManager.STREAM_RING);
audioManager.setStreamVolume(AudioManager.STREAM_RING, 
    audioManager.getStreamMaxVolume(AudioManager.STREAM_RING), 0); 
// Play here
audioManager.setStreamVolum(AudioManager.STREAM_RING,current_volume,0);
...