我创建了一个onClick方法PlaySound,其中if语句检查天气是否正在播放声音,如果正在播放它会停止它,否则它会启动它。我面临的问题是if语句总是假的,从不真。
CODE
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();
}
}
答案 0 :(得分:2)
删除
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();
}
}