如何根据铃声音量设置android MediaPlayer音量?

zam*_*mim 2 android ringtone android-mediaplayer

如何根据铃声音量设置MediaPlayer音量?

我做了这个方法,但不起作用:

        MediaPlayer player = MediaPlayer.create(MyActivity.this, R.raw.sound);
        AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        int currentVolume = audio.getStreamVolume(AudioManager.RINGER_MODE_NORMAL);

        player.setVolume(currentVolume, currentVolume);
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 7

您应该使用setAudioStreamType()来设置要播放音频的音频流,而不是调整音量- 这会自动使用所选流的音量.例如,如果您希望音频以与通知相同的音量播放,则可以使用AudioManager.STREAM_NOTIFICATION:

mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不会导致任何错误,但我不再听到任何声音(即使我的通知音量很大),并且查看文档,它说此方法在 API 级别 21 中已弃用... (2认同)