繁体   English   中英

无法让Mediaplayer停止

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM