經過測試發現,是因為調用stop函數時,導緻的問題。
原代碼為:
MediaPlayer player = MediaPlayer.create(context, R.raw.music_1);
private void stop() {
if (player != null) {
player.stop();
player.reset();
}
}
我在調用時,是不管是否正在播放均直接調用我自己封裝的stop函數。正确的調用時機是,僅在MediaPlayer正在播放時,才可以調用stop函數。
代碼修改為:
MediaPlayer player = MediaPlayer.create(context, R.raw.music_1);
private void stop() {
if (player != null && player.isPlaying()) {
player.stop();
player.reset();
}
}
加入player.isPlaying()做判斷是否為正在播放狀态,即可解決此問題。