【发布时间】:2012-11-04 03:08:26
【问题描述】:
我正在制作一个程序,我希望它在打开时开始播放声音。我认为最简单的方法是将 .wav 文件嵌入到我的 jar 中的 src 文件夹中。我已将该文件放在一个名为files 的打包文件中,而我使用的所有其他文件(例如图片)都在该包中,并且它们都可以正常工作。我播放声音的方法在这里:
public static void playSound(String dir, int loopTimes) throws Exception {
URL url = new File(dir).toURI().toURL();
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);
if (loopTimes == -1)
loopTimes = Clip.LOOP_CONTINUOUSLY;
clip.loop(loopTimes);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
}
});
}
它适用于在我的桌面、我的文档或其他任何地方播放声音。我输入播放声音的路径是"files/FBP.wav",FBP 是文件的名称。我无法在谷歌上找到任何解决方案,我觉得这是因为它在 JAR 中。我也只是简单地尝试过:
if(new File("files/FBP.wav").exists()){
System.out.println("EXISTS!");
}
System.exit(0);
它从未打印出它存在。我已经确保它也在 bin 文件夹中。我正在使用日食。我得到的错误是filenotfoundexception。任何帮助表示赞赏!提前致谢!
【问题讨论】:
标签: java audio io embedded-resource filenotfoundexception