保持声音样本播放,直到按钮发布android



我正在尝试实现一个可以播放字符串声音的音乐键盘应用程序。需要播放字符串声音,直到用户松开键为止。

我使用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;
        }
    });

最新更新