我正在尝试实现一个可以播放字符串声音的音乐键盘应用程序。需要播放字符串声音,直到用户松开键为止。
我使用1秒的小样本,想法是在上使用SoundPool循环样本
MotionEvent.ACTION_DOWN
,
并将其作为停止
ACTION_UP
接到电话。但循环似乎不起作用。我可以放一个"足够长"的声音样本,假设没有用户会按住按钮那么长时间,但这不是我想要的应用程序的工作方式。
我该怎么办?
尝试以下代码:
内部onCreate()
mp=MediaPlayer.create(MainActivity.this,R.raw.beep);
b.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mp.setLooping(true);
mp.start();
}
if (event.getAction() == MotionEvent.ACTION_UP) {
mp.stop();
mp=MediaPlayer.create(MainActivity.this,R.raw.beep);
}
return false;
}
});