繁体   English   中英

按下按钮时循环播放声音

[英]Loop a sound while a button is pressed

我按下按钮时试图循环播放声音。

当我按下按钮时,我怎么能这样做事件“MotionEvent.ACTION_DOWN”不会停止运行声音? 我做的方式只运行一次。 我已经尝试将return语句更改为false,但它不起作用。

setLoop MediaPlayer选项对我没有帮助,因为我想继续播放新的声音,尽管当前的声音没有播放完毕。

这是我的代码:

public boolean onClick(View v, MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_DOWN){
        //here should not stop running the soundPool
        soundPool.play(R.raw.sound1, 1, 1, 1, 0, 1);
    }
    if(event.getAction() == MotionEvent.ACTION_UP){
        // stop running the soundpool
    }
    return true;
}

将第五个参数替换为-1:

soundPool.play(R.raw.sound1, 1, 1, 1, -1, 1);

play()doc开始第五个参数loop取0(=无循环)或-1(=永远循环)

替换return false; return true; 获取ACTION_UP的唯一方法是返回true以通知Android系统您将处理整个onClick事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM