我的声音不会在.jar文件中播放

时间:2015-12-06 02:11:47

标签: java

这是我声音的代码。它只能在Eclipse中运行,而不能在.jar文件中运行

try {
     InputStream defaultSound = Game.class.getResourceAsStream("/TrailsGameMusic.wav");
     // getClass().getSy.getResource("/images/ads/WindowsNavigationStart.wav");

     System.out.println("defaultSound " + defaultSound);  // check the URL!
     AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(defaultSound);
     Clip clip = AudioSystem.getClip();
     clip.open(audioInputStream);
     clip.loop(Clip.LOOP_CONTINUOUSLY);
} catch (Exception ex) {
     ex.printStackTrace();
}

2 个答案:

答案 0 :(得分:2)

抱歉,我通过添加一个名为sound的声音来解决这个问题

sound = new Sound("res\\TrailsGameMusic.wav");

答案 1 :(得分:1)

Game.class.getResourceAsStream("/TrailsGameMusic.wav");使用类加载器来定位文件,因此通常,文件必须在类路径上。如果path以“/”开头,那么文件名相对于jar文件中的类的根,所以将此文件放在顶层的jar中。我的猜测是在项目的根文件夹中,这是Eclipse的默认位置。