我在播放jar文件中的声音时出现问题。 这是我播放声音的代码:
public class Sounds {
public static void playClickSound() {
try {
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new File("resources/sounds/click.wav")));
clip.start();
} catch (Exception exc) {
exc.printStackTrace(System.out);
}
}
public static void playBuySound() {
try {
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new File("resources/sounds/buy.wav")));
clip.start();
} catch (Exception exc) {
exc.printStackTrace(System.out);
}
}
}
使用Sounds.class文件的其他类:
//other stuff..
Sounds.playBuySound();
//another stuff..
但是这段代码甚至不能在编辑器中播放它。 即使我将它导出到jar文件,我也需要使声音有效。
有没有简单的解决方案?
答案 0 :(得分:1)
您无法像您尝试的那样简单地播放文件,您需要使用您正在使用的类的getResource方法。例如,尝试此代码
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(Sounds.class.getResource("/resources/sounds/click.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();