导出到jar后没有声音
我的应用程序有问题。 当我在Eclipse中运行应用程序时,声音播放效果很好,但如果我将应用程序导出到runnable jar,则声音不起作用。
播放声音的方法:
public static synchronized void playSound() { new Thread(new Runnable() { // The wrapper thread is unnecessary, unless it blocks on the // Clip finishing; see comments. public void run() { try { Clip clip = AudioSystem.getClip(); AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav")); clip = AudioSystem.getClip(); clip.open(inputStream); clip.start(); } catch (Exception e) { System.err.println(e.getMessage()); } } }).start(); }
哪里可能是个错误?
问题在于此
AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav"));
因为任何原因,在JAR文件中没有工作getResourceAsStream
。 所以我用getResource
替换它:
AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResource("sound.wav"));
这很好用。