我使用以下代码在我的游戏中播放声音效果:
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()
之后立即执行此操作,声音将立即消失,因为我在主线程中,所以我无法延迟。有没有办法在不为每个声音效果实例创建新线程的情况下这样做?
由于