簡體   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