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();
}
}
我创建了一个 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();
}
}