在实际播放之前打开Java剪辑文件?

时间:2014-08-01 19:10:17

标签: java audio load jbutton clip

按下时我有一个按钮播放此代码:

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();
            }

0 个答案:

没有答案