Java:不止一次播放声音

时间:2013-11-24 22:22:04

标签: java audio

我最近一直在学习如何在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);
    }
}

1 个答案:

答案 0 :(得分:0)

解决。我做的是我每次点击组件时都会加载声音文件。