如果您运行的是更大的应用程序,则此答案可能不适用。但是对于仅使用那段代码的简单测试,这 可能会 有所帮助:
Clip.loop()启动它自己的线程,但是该线程不会使JVM保持活动状态。因此,要使其工作,请确保夹子不是唯一的螺纹。
如果我从此代码段中删除Thread.sleep(..),则会遇到与您相同的问题;
import java.io.File;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.Clip;public class Snippet { public static void main(String[] args) throws Exception { AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File("notify.wav")); Clip clip = AudioSystem.getClip(); clip.open(inputStream); clip.loop(Clip.LOOP_CONTINUOUSLY); Thread.sleep(10000); // looping as long as this thread is alive }}


