在Netbeans中停止剪辑

时间:2017-12-04 18:32:41

标签: java netbeans

所以我有一个带有一个按钮的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)
    {

    }
}

1 个答案:

答案 0 :(得分:0)

您正在使用plsStop()方法重新打开剪辑。现在您有 两个 副本,并且您正在尝试停止当前未播放的副本。这两个方法需要引用相同的剪辑,该剪辑应该是类的成员,而不是方法中的局部变量。