在我的应用程序中,我有一个负责播放放在raw目录下的文件的方法。但是当我用onResume()
方法调用该函数时,声音会播放两次。即使我用Google搜索并尝试了不同的解决方案。即使检查mediaPlayer.isPlaying()
然后停止MediaPlayer
实例,但仍然没有得到任何帮助。
private void EnglishSound(){
if(mediaPlayer1!=null){
if(mediaPlayer1.isPlaying()){
mediaPlayer1.stop();
}
mediaPlayer1.reset();
mediaPlayer1.release();
}
mediaPlayer1 = MediaPlayer.create(this, R.raw.p012);
mediaPlayer1.start();
}
public void onResume() {
super.onResume();
EnglishSound();
}
和EnglishSound()
在整个活动中的其他位置被称为no。甚至尝试过调试,但它从不进入包含isPlaying()
的if块。
答案 0 :(得分:2)
尝试释放onPause()
public void onPause() {
super.onPause();
if(mediaPlayer1 != null)
mediaPlayer1.release();
}