调节安卓音量

如果使用MediaPlayer播放,直接setVolume即可,经测试静音也能有声音,但是用户调节媒体音量到0就不行了,他是在媒体音量的基础上做了百分比

MediaPlayer mediaPlayer = MediaPlayer.create(this, raws[ringId]);
mediaPlayer.setVolume(1.0f, 1.0f);

比如某个需要提醒用户的时候,

        audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
         //获取媒体音量最大值
        int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
         //获取系统当前媒体音量,用于闹钟关闭的时候 恢复成用户自己设置的音量
        int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);            
        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, streamMaxVolume, 0);

        //业务逻辑写在这,播放声音什么的

        //完了再将媒体音量还原成用户设置的
        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, streamVolume , 0);

你可能感兴趣的:(调节安卓音量)