[英]How to include a music file with a .jar file?
我的netbeans遇到问题。 我制作了一个仅播放背景音乐的程序。 当我从netbeans IDE运行该程序时,它随音乐一起运行,没有任何错误。 但是,当我尝试运行.jar文件时,程序没有音乐就可以正确运行。 我已经检查了该路径一百次,但无法正常工作。 没错,没事,音乐不是从.jar文件中播放。 为什么这样?
public static synchronized void playSound(final String url) {
new Thread(new Runnable() {
public void run() {
try {
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream;
inputStream = AudioSystem.getAudioInputStream(
this.getClass().getResource(url));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}).start(); }
您应该使用getResourceAsStream(String)来访问这样的文件,您需要确保它们存在于类路径中。
没有任何代码可看,我想您正在尝试使用FileInputStream或类似的方法,因为jar文件没有传统文件系统的概念,所以它无法正常工作。
如果您想运行.jar ...,并且希望在运行.jar ...时播放音乐,那么您确实应该将音乐文件放入JAR 。 正如Paul Sanwald告诉您的那样, “ getResourceAsStream()”是您要使用的API。
它也将在您的IDE中工作。
我碰巧更喜欢Eclipse IDE,在Eclipse中,您将文件复制到项目中的“ src”文件夹中(在这种情况下,导出.jar时它将自动放置在正确的位置)
此链接说明了如何在NetBeans中执行此操作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.