我如何停止播放声音-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
播放完毕。这将需要在单独的线程中启动剪辑