Android 实现调整系统音量时不禁用提示音
时间: 2024-02-09 12:07:59 浏览: 227
如果你希望在调整系统音量时保留提示音,可以使用默认的 setStreamVolume() 方法,而不是在第三个参数中设置 AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE。
以下是示例代码:
```java
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); // 获取当前音量
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); // 获取最大音量
float volumeRatio = 0.5f; // 设置音量比例,0.0f - 1.0f 之间
int targetVolume = (int) (maxVolume * volumeRatio);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, targetVolume, 0); // 设置音量,保留提示音
```
在 setStreamVolume() 方法中,第三个参数设置为 0,即可保留提示音。
需要注意的是,系统提示音的音量可能会和你设置的音量不同,因为系统会根据当前的铃声音量和通知音量来计算提示音的音量。如果你希望完全控制提示音的音量,可以考虑自定义提示音。
阅读全文