在我的应用中,我有背景音乐和一些声音可以播放。我想在播放语音时暂停音乐,当语音结束时,我必须重启音乐。因此,以下情况会暂停背景音乐并启动声音。然后我有onVoiceFinish()方法,检查语音是否完成。
case "%voice_1": {
activity.getMusic().pause();
MediaPlayer music = MediaPlayer.create(context, R.raw.intro);
onVoiceFinish(music);
music.start();
break;
}
我的onVoiceFinish()就在这里:
public void onVoiceFinish(final MediaPlayer voice){
voice.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
activity.getMusic().start();
voice.release();
}
});
}
所以我的问题是有时候背景音乐没有重启,语音在完成之前停止。我是否正确使用了setOnCompletion()方法?