2012-09-17 43 views
0

嗨我按下按鈕時使用Soundpool Android播放聲音。我想知道按下按鈕時是否可以保持這種聲音播放。按鍵保持聲音?

+1

是的。只需使用onTouchEvent並查看事件是否已啓動或關閉 – njzk2

回答

0

在這裏,您需要確定按下按鈕時的ACTION_DOWN和用戶擡起手指時的ACTION_UP的觸摸事件。您可以在發生ACTION_DOWN事件時開始播放聲音,並在發生ACTION_UP事件時將其停止。
現在爲了捕捉按鈕上的這些事件,您將不得不在按鈕上設置onTouch偵聽器並實現它的onTouch()方法。 onTouch()方法是您必須捕捉這些事件並播放/暫停聲音的地方。

這裏有一個例子,你如何實現按鈕的這個onTouch()方法:

btn.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch (View v, MotionEvent event) 
     { 
      switch(event.getAction() & MotionEvent.ACTION_MASK) 
      { 
       case MotionEvent.ACTION_DOWN: 
        //here you can start playing song 
        break; 
       case MotionEvent.ACTION_UP: 
        //here you can stop playing song 
        break; 
      }  
      return false; 
     } 
    }); 

在這裏,你可以看到,我已經返回false指示我與該事件完成操作系統現在你可以處理這個事件。如果您不希望操作系統處理觸摸事件,則返回true,表示您已經消耗了觸摸事件。

我希望這會有所幫助。

+0

謝謝,我將執行代碼。 – user1649307