我如何停止播放声音-JAVA

我如何停止播放声音-JAVA,java,audio,Java,Audio,这是我用来播放声音的代码,它非常适合我的需要。我只是不知道当我想让剪辑播放的时候,我怎么能阻止它播放 public class Sound { public Clip play(String filename) { Clip clip = null; try { File file = new File(filename); AudioInputStream audioIn = A

这是我用来播放声音的代码,它非常适合我的需要。我只是不知道当我想让剪辑播放的时候,我怎么能阻止它播放

public class Sound {

    public Clip play(String filename) {
        Clip clip = null;

            try {
                File file = new File(filename);
                AudioInputStream audioIn = AudioSystem.getAudioInputStream(file);
                clip = AudioSystem.getClip();
                clip.open(audioIn);
                clip.stop();
                clip.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return clip;
       }
}

如果您查看JavaDocs,您应该注意到从
DataLine
继承的方法之一是
stop

停止排队。停止的线路应停止I/O活动。如果这条线 但是,它应该保留所需的资源 恢复活动。停止的线路应在其线路中保留所有音频数据 缓冲区,而不是丢弃它,以便在恢复I/O时 如果可能的话,继续它停止的地方。(这并不能保证 当然,在当前缓冲区之外永远不会有间断 当然;如果停止状态持续时间过长,输入或 如果需要,可以删除保留的数据 通过调用flush方法丢弃。当音频捕获或播放时 停止,则生成停止事件

您可能需要验证这一点,但我似乎理解
start
是一种阻塞方法,也就是说,一旦调用,to将不会返回,直到
Clip
播放完毕。这将需要在单独的
线程中启动
剪辑