如何从jar文件加载.wav文件,而不使用与jar文件相同的目录中的资源

时间:2015-12-03 01:41:15

标签: java

每当我打开.jar文件时,除非文件位于标题为" res"的文件夹中,否则声音将无效。与.jar文件位于同一目录中。现在它无论res文件夹在哪里都可以使用  这是我的代码

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();
    }

1 个答案:

答案 0 :(得分:0)

绝对路径可能存在问题: 如果你这样声明:"/res/TrailsGameMusic.wav",你指的是绝对路径 - 它有效。如果你只写"TrailsGameMusic.wav",它将是一个相对路径 - 它将无效。

您可以使用以下链接配置资源: How do I add a resources folder to my Java project in eclipse