2015-12-09 85 views
0

我一直在爲一個項目工作幾個星期。 This is the Main Basic UI for the Application如何在java中一次播放JButton一個聲音?

當用戶按下按鈕相關的.wav文件正在播放,但當用戶單擊另一個按鈕時它不會停止播放。我希望它在用戶點擊另一個按鈕時停止。

+0

保持當前的'Clip'參考,調用'剪輯#stop'阻止它在創建下一個之前播放 – MadProgrammer

+0

...........並且當然通過在後臺線程中運行剪輯並僅在Swing事件線程上進行Swing調用來遵守線程規則。 –

+1

@HovercraftFullOfEels不是'Clip#play'非阻塞嗎? – MadProgrammer

回答

1

你將不得不作出當前播放停止之前再點擊一下,即播放請求的用武之地。

public void playClip(String clipName){ 
    if(audioPlayer.isPlaying()){ 
      audioPlayer.stop(); 
    }else{ 
      audioPlayer.setClip(clipName); 
      audioPlayer.play(); 
}// not actual code, but you get the idea 
+0

@Neo它不適用於我的代碼。得到大量的錯誤 –

+0

這是我的代碼............ –

+0

嗯,我只是給出了這個想法,而不是實際的代碼,它也在上面提到:) –