仅在Android上更改一个警报声音的音量

时间:2012-03-28 18:26:13

标签: android android-audiomanager

我正在研究一种救生医疗应用程序,如果用户处于危及生命的状况,他们需要听到警报。

当我收到状态栏的通知或者向用户显示关键消息的对话框时,我需要引起他们的注意。如果媒体音量或铃声音量较低或关闭,我想仅覆盖它以获取警报。我宁愿不改变手机的设置,只是为了我想播放的一个声音。

当我尝试:

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

这正确设置了我的流的音量,但副作用是更改其他人的流量。

有没有办法只为一首歌设定音量?

1 个答案:

答案 0 :(得分:2)

歌曲完成后可以恢复。

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