2014-03-07 4 views
0

Я не уверен, как правильно использовать onTouch. Прямо сейчас я могу нажать изображение и воспроизвести звук, но я не могу воспроизвести сразу два звука, а также не могу повернуть палец вниз и воспроизвести все звуки, он будет воспроизводить только первое нажатое изображение. Я знаю, что это из-за onTouch и Multitouch, но я не уверен, как это сделать, и я не могу найти подходящий образец кода, любая помощь будет оценена!android multitouch using sound pool

этот код onTouch, но мне нужно Multitouch

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» отправляются до тех пор, пока пользователь не поднимет ** тот же палец **, который получил событие down. Multi-touch должен работать до тех пор, пока вы используете ** несколько пальцев **, чтобы нажимать кнопки, и ваше устройство поддерживает его. – free3dom

ответ