我想要一个按钮发出声音,但只需单击一下即可。但点击后会不断播放。如何让声音播放一次,然后在下一页再次播放?
这是代码:
Private void buttonMouseClicked
Audioinput audio =AudioStream.getAudioInputStream(this.get class().getResource ("/AppPackage/BH/chr.wav"));
Clip clip =AudioSystem.getClip();
clip.open(audio);
clip.start();
我只是想确保在下次单击此特定按钮时会发生注释。
您可以放置一个全局 boolean 变量并最初将其设置为 false。单击鼠标按钮时,首先检查变量是否为 false,然后再继续播放音频。如果变量为 true,则不要继续。如果该变量为 false,您可以将其设置为 true,然后继续执行代码以开始播放音频。
boolean isPlaying = false;
private void buttonMouseClicked() {
if (isPlaying) return;
isPlaying = true;
AudioInputStream audio;
try {
audio = AudioSystem.getAudioInputStream(getClass().getResource("/AppPackage/BH/chr.wav"));
Clip clip;
clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
} catch (UnsupportedAudioFileException ex) {
ex.printStackTrace();
} catch (LineUnavailableException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
也许你的程序的某些部分有一个代码来检测音频是否已完成播放,你可以在那里将变量设置回 false,以便在单击按钮时可以再次播放音频。
我是一名优秀的程序员,十分优秀!