Android MediaPlayer首次以较低的音量播放声音

Android MediaPlayer首次以较低的音量播放声音,android,Android,这是我用来创建通知声音的代码。但是,当第一次调用该函数时,媒体播放器以较低的音量播放声音。如果立即再次调用此函数,则它将使用所需的卷(即流卷)进行播放 Uri notification = RingtoneManager.getActualDefaultRingtoneUri(context, RingtoneManager.TYPE_NOTIFICATION); mMediaPlayer = new MediaPlayer();

这是我用来创建通知声音的代码。但是,当第一次调用该函数时,媒体播放器以较低的音量播放声音。如果立即再次调用此函数,则它将使用所需的卷(即流卷)进行播放

Uri notification = RingtoneManager.getActualDefaultRingtoneUri(context, 
RingtoneManager.TYPE_NOTIFICATION);
                mMediaPlayer = new MediaPlayer();
                mMediaPlayer.setDataSource(context, notification);
                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
                mMediaPlayer.setOnPreparedListener(new 
MediaPlayer.OnPreparedListener() {
                    @Override
                    public void onPrepared(MediaPlayer mp) {
                        mMediaPlayer.setVolume(1, 1);
                        if(!mMediaPlayer.isPlaying())
                           mMediaPlayer.start();
                    }
                });

                mMediaPlayer.setOnCompletionListener(new 
MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        mMediaPlayer.release();
                    }
                });

                mMediaPlayer.prepareAsync();

如何始终以正确的音量播放声音?

如果您尝试使用不同的流类型,如AudioManager.stream\u MUSIC,是否会有任何区别?我想专门使用stream\u RINGOk,要求检查而不是检查是否也会影响您面对的编程使用。将其更改为STREAM_ALARM也会产生相同的结果,但您是对的,这可能是上行铃声音量的问题。这发生在我正在测试的摩托罗拉手机上,但不是小米手机。