我尝试将音乐添加到我制作的应用程序中。首先,我尝试使用 .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);
}
最佳答案
你把声音文件放在哪里了?
您应该在项目中创建一个新包并将资源放在那里,然后通过发送完整路径来读取文件:
例如。创建一个名为 sounds 的新包,然后:
InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream("/sounds/"+temp+".mp3");
p = new Player(fis);
p.play();
老实说,我没有尝试用声音,但是当我用图像时,这个问题就发生在我身上。我把它们放在一个包里,一切正常..
关于java - 用java压缩音乐的 jar ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942866/