2015-12-03 2 views
0

Всякий раз, когда я открываю файл .jar, звук не будет работать, если файлы не находятся в папке с именем res, в том же каталоге, что и файл .jar. Теперь он теперь будет работать независимо от того, где папка УЭ Вот мой кодКак загрузить WAV-файл из файла jar без ресурсов в том же каталоге, что и файл 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? – MadProgrammer

+0

Теперь я принял совет m.aibin и изменил свой код на – GamerC42

ответ

0

Это, вероятно, проблема с абсолютным путем: Если вы объявляете это так: "/res/TrailsGameMusic.wav", вы имеете в виду абсолютный путь - это работает , Если вы напишете только "TrailsGameMusic.wav", это будет относительный путь - он не будет работать.

Вы можете настроить свои ресурсы, используя, например, по этой ссылке: How do I add a resources folder to my Java project in eclipse