tot*_*aka 1 java jar file javasound getresource
我正在用Java做一个小游戏。对于这个游戏,我只是添加了声音。所以我想把我所有的图像和音频文件放在罐子里。对于图片,这很简单:
new ImageIcon(Main.class.getResource("images/machgd2.png")).getImage()
Run Code Online (Sandbox Code Playgroud)
但是对于音频,仅当我在Eclipse中运行程序时才起作用,而不能从jar中运行。我用:
File soundFile = new File(Main.class.getResource(filename).getFile());
Run Code Online (Sandbox Code Playgroud)
那么如何从.jar文件中获取此文件?
更新:
好的,感谢Andrew!为了播放声音,我使用了一个在网上找到的类,然后发现该类仅使用File来获取AudioInputStream,因此我删除了File。
在jar文件中时,它不是文件系统上的文件,对吗?您要么必须将文件从jar文件中复制到某个临时位置,要么使用不需要文件的API(例如,仅需要a InputStream或a的API,URL可以使用getResourceAsStream或从jar文件中轻松获取这两个文件getResource)。
您尚未显示使用的位置soundFile-如果向我们显示您要使用的API,我们可以尝试建议适当的替代方法。