Android: if 语句不适用于 .isPlaying()

Android: if statement not working with .isPlaying()

我创建了一个 onClick 方法 PlaySound,其中一个 if 语句检查声音是否正在播放,如果正在播放它会停止播放,否则它会启动 it.The 我面临的问题是 if 语句是永远是假的,永远不会是真的。

代码

public void PlaySound(View view) {
    final MediaPlayer clickSound = MediaPlayer.create(this, R.raw.abcd);

    if(clickSound.isPlaying()) {
        clickSound.stop();
    }
    else{
        clickSound.setLooping(true);
        clickSound.start();
    }
}

删除

final MediaPlayer clickSound = MediaPlayer.create(this, R.raw.abcd);

来自 play 方法并在方法之外创建它。

编辑 为了您的方便,请按照以下步骤操作:

可以取一个MediaPlayer的全局变量

 public  MediaPlayer clickSound ;

然后在onCreate方法中创建:

clickSound = MediaPlayer.create(this, R.raw.abcd);

因此您的 play 方法将是:

public void PlaySound(View view) {

    if(clickSound.isPlaying()) {
        clickSound.stop();
    }
    else{
        clickSound.setLooping(true);
        clickSound.start();
    }
}