2015-12-09 48 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

嗯,我只是给出了这个想法,而不是实际的代码,它也在上面提到:) –