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也会产生相同的结果,但您是对的,这可能是上行铃声音量的问题。这发生在我正在测试的摩托罗拉手机上,但不是小米手机。