我正在尝试实现一个能播放字符串声音的音乐键盘应用程序。在用户释放密钥之前,需要播放字符串声音。
我正在使用1秒的小样本,想要使用SoundPool
循环样本 MotionEvent.ACTION_DOWN
,
并将其停止为
ACTION_UP
被调用。但循环似乎不起作用。我可以设置一个“足够长”的声音样本,假设没有用户按下按钮那么久,但这不是我希望应用程序工作的方式。
我该怎么办?
答案 0 :(得分:1)
试试这段代码:
在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;
}
});