我的声音有7秒的持续时间。我想在按下时播放它并在按下后停止(例如1秒钟)。我的代码如下,但我有问题???当快速按下几次时,声音全部播放7秒并且不会停止。我想创造一个简单的钢琴。 有什么问题?你对此有什么想法吗?
c.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: // Button Pressed
SID1_c = soundPool.play(sound_c, 1, 1, 1, 0, 0);
c.setBackgroundResource(R.drawable.key4);
return true;
case MotionEvent.ACTION_UP:// Button released
handler =new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
soundPool.stop(SID1_c);
}
},90);
return false;
}
return false;
}
});
答案 0 :(得分:0)
在首先按button
期间,如果有任何礼物,您需要停止soundPool
。
在再次soundPool.stop(SID1_c);
之前在case MotionEvent.ACTION_DOWN:
中写soundPool
。