[英]Can't get Mediaplayer to stop
我正在尝试让Android Mediaplayer在此onTouch方法中停止播放声音,但不会。 相反,它作为最后一个声音的补充开始声音,因此我可以听到它们重叠的声音。 如果我让它循环,循环将不会停止。 即使我不使用isPlaying部分,而是插入并检查一个布尔值也不起作用。 有什么建议吗?
public boolean onTouch(View v, MotionEvent event){
mp = MediaPlayer.create(getBaseContext(), R.raw.tara);
if (event.getAction() == MotionEvent.ACTION_DOWN){
Drawable myIcon = getResources().getDrawable( R.drawable.image1);
getWindow().setBackgroundDrawable(myIcon);
if (mp.isPlaying()){
mp.stop();
}
else {
mp.start();
}
}
else if (event.getAction() == MotionEvent.ACTION_UP){
Drawable myIconup = getResources().getDrawable( R.drawable.image2);
getWindow().setBackgroundDrawable(myIconup);
}
您创建mp = MediaPlayer.create(getBaseContext(), R.raw.tara);
每次调用onTouch时,因此您不会使用以前用于开始播放的mp实例。
检查mp在onTouch开头是否为null,如果不为null,则不要创建新的mp,而是停止当前的mp。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.