следующий код предназначен для обработки событий ACTION_DOWN и ACTION_UP для кнопки с именем Clash. идея состоит в том, что однажды if/else определяет, что событие onTouch было вызвано конфликтом, а оператор switch затем определяет, что делать, основываясь на действии. я не знаю, проблема в том, что операторы switch не возвращают true, и это может быть связано с проблемой. когда я добавляю возврат, eclipse говорит, что код недоступен, чего я не понимаю. У меня сложилось впечатление, что вы не можете вырваться из переключателя без перерыва.
что на самом деле происходит, так это то, что первый звук будет повторяться, но код, похоже, никогда не обнаружит действие, когда кнопка будет отпущена, и поэтому звук воспроизводится вечно. любая помощь будет оценена.
public boolean onTouch(View v, MotionEvent event) {
MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.clash);
if (v.getId() == R.id.clash){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
mp.setLooping(true);
mp.start();
break;
case MotionEvent.ACTION_UP:
mp.pause();
break;
}
}
return true;
}
});
pause()в другом экземпляре MediaPlayer, чемstart()? - person Kevin Coppock   schedule 14.10.2010