我正在为我的朋友制作一个基本程序,显示他的这张有趣的图片并循环播放声音。当我导出我的JAR时它没有用,所以我用WinRar打开JAR并且文件在那里但是它们没有播放
CODE:
//imports
public class twerk {
static File fl = new File("res//sounds//liver.au");
static int loo = 1;
static JFrame frame = new JFrame("COLLIN");
public static void frame(){
frame.setSize(1086,800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
ImageIcon image = new ImageIcon("res//images//collin.jpg");
JLabel label = new JLabel(image);
frame.add(label, BorderLayout.NORTH);
frame.setIconImage(image.getImage());
frame.setVisible(true);
try
{
String st =fl.getPath();
InputStream in = new FileInputStream(st);
AudioStream au = new AudioStream(in);
AudioPlayer.player.start(au);
if(loo == 1){
Thread.sleep(1900);
frame();
}
} catch(Exception e){}
}
public static void main(String[] args){
frame();
}
}
在WinRar中打开JAR文件的图片
因此,您可以看到图像和声音文件夹位于jar文件中,但它们未被使用
答案 0 :(得分:2)
到部署时,这些资源已成为embedded-resource。在这种情况下,必须由URL
而不是File
访问资源。有关标记的info page,请参阅URL
。
注意路径。根据那个清单:
"res//images//collin.jpg"
应该成为:
"/images/collin.jpg"