按下时播放声音,按下时停止?

Play sound when press down and stop it when press up?

我有一个持续时间为 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;
                        }
                    });

在按下 button 期间,如果有 soundPool,您需要先停止。

case MotionEvent.ACTION_DOWN:中写入soundPool.stop(SID1_c);,然后再开始soundPool