我最近一直在学习如何在java中添加声音。目前,我有这个代码可以使用,但它并不总是在正确的时间播放,或者有时根本不播放。每当play()
方法在正确的时间被触发时,我怎么能得到声音?顺便说一下,每{I} click
component
就会发生这种情况。
public class Sound {
private File sndFile0;
private AudioInputStream au;
private Clip cl;
private DataLine.Info info;
public Sound() {
try {
sndFile0 = new File(getClass().getResource("/sound/vir1.wav").toURI());
au = AudioSystem.getAudioInputStream(sndFile0);
info = new DataLine.Info(Clip.class, au.getFormat());
cl = (Clip) AudioSystem.getLine(info);
cl.open(au);
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException | URISyntaxException e) {
e.printStackTrace();
}
}
public void play() {
cl.start();
cl.setFramePosition(0);
}
}
答案 0 :(得分:0)
解决。我做的是我每次点击组件时都会加载声音文件。