我正在开展一个小项目,当用户按下按钮时我需要播放声音。那部分我似乎已经失败了。但问题是,如果用户使用按钮,则声音将反复播放,重叠。如何在播放声音的过程中锁定按钮,或者可以将每次点击放入队列中继续播放,而不是在播出的瞬间播放?这就是我到目前为止所拥有的。我有点像Android开发的菜鸟。感谢。
public void SOS(View v) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.sos);
mp.start();
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
}
});
}
答案 0 :(得分:0)
是jbutton吗?如果是这样,那就用吧。替换为JButton的名称。
//Disables it.
<JbuttonName>.setEnabled(false);
//Enables it
<JbuttonName>.setEnabled(true);
答案 1 :(得分:0)
保留对您的媒体播放器的引用,而不是每次都创建它,然后仅在它还没有播放时播放它,如下所示:
if(!mp.isPlaying())
{
mp.start();
}
答案 2 :(得分:0)
尝试一下,它对我有用:
MediaPlayer mp;
public void mpStart() {
mp = MediaPlayer.create(MainActivity.this, R.raw.sos);
mp.start();
}
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
mp = null;
}
});