导致内存泄漏的声音效果

时间:2014-10-31 17:49:57

标签: java multithreading audio clip

我使用以下代码在我的游戏中播放声音效果:

    try {
        AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(sound).getAbsoluteFile());
        Clip clip = AudioSystem.getClip();
        clip.open(audioInputStream);
        clip.start();
        clip.loop(Clip.LOOP_CONTINUOUSLY);
    } catch (Exception ex) {
        System.out.println("Error with playing sound.");
        ex.printStackTrace();
    }

这是一个堆空间错误并链接回此代码。我知道我需要做clip.close(),但如果我在clip.start()之后立即执行此操作,声音将立即消失,因为我在主线程中,所以我无法延迟。有没有办法在不为每个声音效果实例创建新线程的情况下这样做?

由于

0 个答案:

没有答案