2014-03-07 52 views
0

我不確定如何正確使用onTouch。現在我可以按下一個圖像並播放聲音,但我不能一次播放兩個聲音,也不能將手指向下滑動並播放所有聲音,它只會播放按下的第一個圖像。我知道這是因爲onTouch和Multitouch,但我不知道如何做到這一點,我找不到任何相關的示例代碼,任何幫助表示讚賞!使用聲音池的Android多點觸摸

這段代碼onTouch,但我需要多點觸控

public boolean onTouch(View v, MotionEvent event) { 

     if (event.getAction() == MotionEvent.ACTION_DOWN ) { 
      if(v.getId()==R.id.sagatup){ 

       if (loaded) { 
        soundPool.play(soundID, volume, volume, 1, 0, 1f); 
        Log.e("Test", "Played sound"); 
       } 

      } 
      if(v.getId()==R.id.sagatdown){ 

       if (loaded) { 
        soundPool.play(soundID2, volume, volume, 1, 0, 1f); 
        Log.e("Test", "Played sound"); 
       } 
      } 
      if(v.getId()==R.id.clap){ 

       // Is the sound loaded already? 
       if (loaded) { 
        soundPool.play(soundID3, volume, volume, 1, 0, 1f); 
        Log.e("Test", "Played sound"); 
       } 
      } 
      if(v.getId()==R.id.za3rota){ 

        // Is the sound loaded already? 
        if (loaded) { 
         soundPool2.play(soundID4, volume, volume, 1, 0, 1f); 
         Log.e("Test", "Played sound"); 
        } 
      } 

     } 

     return false; 
    } 
+0

滑動**同一手指**觸發其他印刷機時,您的代碼將不起作用。當用戶最初觸摸屏幕時,只觸發一次「MotionEvent.ACTION_DOWN」,然後發送多個「MotionEvent.ACTION_MOVE」事件,直到用戶提起**接收到關閉事件的同一手指**爲止。只要您使用**多指**按按鈕並且您的設備支持它,多點觸控應該可以工作。 – free3dom

回答