3

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

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

当我尝试:

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

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

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

4

1 回答 1

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);
于 2012-03-28T18:33:30.730 回答