[英]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.