我试图将音乐添加到我制作的应用程序中。首先,我尝试使用.wav
文件,尽管它们变得如此巨大,以至于应用程序变得太大而无法上传到任何地方。
所以我将文件更改为.mp3
,尝试了JMF
和JLayer
,尽管它们都无法在可运行的jar上运行(即使它们在我没有导出时工作正常它们)。
所以任何人都有关于如何使用可运行的jar播放压缩音乐的任何提示?
这是JLayer的代码,在导出时它会在f = new File(u.toURI())
停止工作而不会抛出任何异常......
try {
URL u = cl.getResource("New Beginnings.mp3");
f = new File(u.toURI());
} catch (URISyntaxException e1) {
e1.printStackTrace();
}
try {
FileInputStream fis = new FileInputStream(f);
p = new Player(fis);
p.play();
} catch (Exception e) {
System.out.println(e);
}
编辑:修正了将上述代码更改为:
try {
InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream(temp+".mp3");
p = new Player(fis);
p.play();
} catch (Exception e) {
System.out.println(e);
}
答案 0 :(得分:1)
您在哪里准确放置声音文件?
您应该在项目中创建一个新包并将资源放在那里,然后通过发送完整路径来读取文件:
离。创建一个名为sounds的新包,然后:
InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream("/sounds/"+temp+".mp3");
p = new Player(fis);
p.play();
老实说,我没有尝试过声音,但是当我使用图像时,这个问题发生在我身上。我把它们放在一个包里,一切都很好......