2016-05-10 9 views
0

これはオーディオファイルを読み込んで再生する簡単なプログラムです。jarへのエクスポート後にオーディオリソースが再生されない

私は私のオーディオファイルをロードするためにこれを持っていることは

Clip c1 = null; 
    try { 
     AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(songPaths[k + 1]).getAbsoluteFile()); 
     c1 = AudioSystem.getClip(); 
     c1.open(audioInputStream); 

    } catch (Exception ex) { 
     System.out.println("Error with playing sound."); 
     ex.printStackTrace(); 
    } 

それは私のIntelliJで正常に動作し、私は成果物を作成し、それがリソースをロードに失敗作られているjarファイルを実行しようとするために、見たとき。私のsongPaths配列は次のようになります:

private final String[] songPaths = {"res/fcpOriginal.wav", "res/fcpRemix.wav", 
            "res/ibizaOriginal.wav", "res/ibizaRemix.wav", 
            "res/pohOriginal.wav", "res/pohRemix.wav", 
            "res/sugarOriginal.wav", "res/sugarRemix.wav", 
            "res/wavesOriginal.wav", "res/wavesRemix.wav"}; 

私は何が起こっているのかよく分かりません。どんな助けでも大歓迎です。

答えて

0

私が正しくあなたのディレクトリ階層を理解してるのであれば、あなたは次のようしている:アーティファクト/ nameOfProject_jar /アウト

SRC

解像度

あなたはnameOfProject_jarフォルダへのあなたのresフォルダのコピーを置く必要があります。あなたのアプリケーションの作業ディレクトリはあなたのnameOfProject_jarフォルダになっているので、あなたのような相対パスを使用しているときは、代わりにnameOfProject_jarディレクトリのresフォルダを探します。 :)

0

私はそれを理解しました。 未来の研究者のために!

私は

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(getClass.getResource(songPaths[k + 1])); 

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(songPaths[k + 1]).getAbsoluteFile()); 

を変更

関連する問題