按下时我有一个按钮播放此代码:
public void music() throws UnsupportedAudioFileException, IOException {
try {
URL url = this.getClass().getResource("/audio/InGame01.mid");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
Clip clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
}
但是,不仅声音延迟了(我假设它是因为它必须读取声音文件,然后播放它),按钮也会冻结,直到它完成读取声音片段。有没有一种简单的方法可以在实际按下按钮之前打开音频剪辑,以便它已经加载了它? (clip.open(audioIn)就是我所说的。)
这是调用方法的地方(Button Listener):
try {
music();
} catch (UnsupportedAudioFileException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}