我正在研究一种救生医疗应用程序,如果用户处于危及生命的状况,他们需要听到警报。
当我收到状态栏的通知或者向用户显示关键消息的对话框时,我需要引起他们的注意。如果媒体音量或铃声音量较低或关闭,我想仅覆盖它以获取警报。我宁愿不改变手机的设置,只是为了我想播放的一个声音。
当我尝试:
AudioManager audioManager = (AudioManager)getSystemService(this.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_RING,
audioManager.getStreamMaxVolume(AudioManager.STREAM_RING), 0);
这正确设置了我的流的音量,但副作用是更改其他人的流量。
有没有办法只为一首歌设定音量?
答案 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);