修正できない非常に奇妙な問題があります。
私は現在ゲームを作っていて、ゲームにサウンドが必要です。これはjarファイルとして実行されることになっており、Eclipseから実行するとゲームは完全に正常に動作します.
SoundPlayer は、ゲームで使用する外部 jar ライブラリの一部です。次に、名前とフォルダーを受け取り、サウンドを再生します。サウンドは、FTSound オブジェクト クラスがあるフォルダーのサブフォルダーにあります。jar ファイルを確認したところ、サウンド ファイルが含まれており、Eclipse と同じ場所にあります。今私が遭遇した奇妙な問題に:
jar ファイルをダブルクリックして実行すると、サウンド以外はすべて機能します。完全に欠落しています。ただし、cmd を使用して jar を起動すると、サウンドは正常に機能します。まったく同じ壷です。
何か案は?あなたの助けに感謝します!
サウンドは次のコードで再生されます。
public static void playSound(final FTSound sound) {
new Thread(new Runnable() {
@Override
public void run() {
try{
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(sound.getClass().getResource(sound.getFolderName() + "/" + sound.getSoundName()));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}