所以我有一个带有一个按钮的GUI,当点击一次,它播放我得到的歌曲,当第二次点击时,它会停止播放歌曲,但我想我不知道如何实际阻止它< / p>
private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {
int i = 0;
playMusic(Brown);
i++;
if (i == 1) {
plsStop(Brown);
i--;
}
//when the button is clicked, it plays song, when clicked another time, it SHOULD stop it, but like wtf it don't?
}
static public void playMusic(File Sound){
try{
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(Sound));
clip.start();
}catch(Exception e)
{
}
}
static public void plsStop(File Sound){
try{
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(Sound));
clip.stop();
}catch(Exception e)
{
}
}
答案 0 :(得分:0)
您正在使用plsStop()
方法重新打开剪辑。现在您有 两个 副本,并且您正在尝试停止当前未播放的副本。这两个方法需要引用相同的剪辑,该剪辑应该是类的成员,而不是方法中的局部变量。