JAR を実行するとサウンドが再生されませんが、Eclipse で実行すると再生されます。
クリップをロードする場所は次のとおりです。
public void init(){
System.out.println("grabbing Music");
String currentDir = new File("").getAbsolutePath();
name=new File(currentDir+"\\music\\").list();
clip=new Clip[name.length];
soundFile=new File[name.length];
for(int x=0;x<name.length;x++){
System.out.println(currentDir+"\\music\\"+name[x]);
try {
soundFile[x]= new File(currentDir+"\\music\\"+name[x]);
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile[x]);
DataLine.Info info= new DataLine.Info(Clip.class, sound.getFormat());
clip[x] = (Clip) AudioSystem.getLine(info);
clip[x].open(sound);
clip[x].addLineListener(new LineListener(){
public void update(LineEvent event) {
if (event.getType() == LineEvent.Type.STOP) {
event.getLine().close();
}
}
});
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
}
}
}
Eclipse で実行してもエラーは発生しません。無効なディレクトリ エラーの可能性はないはずですが、何が問題なのですか?
-jar を CMD で実行すると、エラーは発生しません。
編集:オーディオを間違ってロードしているように感じます。そのため、ファイルをロードするために使用したコードを貼り付けたのです。私の検索では、ファイルを使用してサウンドファイルをロードする人を見たことがありません。それが問題なのだろうか?