2015-12-03 125 views
0

每當我打開我的.jar文件時,除非文件位於標題爲「res」的文件夾中,否則聲音將無法工作。與.jar文件位於同一目錄中。現在,它現在不管在哪裏工作res文件夾是 這裏是我的代碼如何從jar文件中加載.wav文件,而沒有與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(); 
    } 
+0

當存儲在JAR文件中的聲音文件?試圖解壓縮jar文件來驗證它們是否包含在jar文件中? – MadProgrammer

+0

我現在接受了m.aibin的建議,並將我的代碼更改爲 – GamerC42

回答

0

這可能與絕對路徑的問題: 如果聲明它這樣:"/res/TrailsGameMusic.wav",你指的是絕對路徑 - 它的工作原理。如果你只寫"TrailsGameMusic.wav",它將是一個相對路徑 - 它不會工作。

可以使用例如此鏈接配置資源: How do I add a resources folder to my Java project in eclipse

相關問題