我正在使用JLayer(JZoom)API在我的java应用程序中播放mp3文件。
这是我实现的代码,我创建了一个方法,然后稍后调用它,工作正常:
public void playMusic() {
try{
FileInputStream fis = new FileInputStream("myfilepath/file.mp3");
Player playMP3 = new Player(fis);
playMP3.play();
}
catch(Exception exc){
exc.printStackTrace();
System.out.println("Failed to play the file.");
}
}
导出可运行的JAR文件时,不包含该文件。我还将MP3文件包含在我的应用程序的SRC文件夹中的assets文件夹中。
在导出到可运行的JAR文件时,为了包含MP3文件,我可以做些什么?
答案 0 :(得分:0)
您无法使用FileInputStream
从JAR文件加载资源,因为JAR文件中的资源不是文件。
使用:
InputStream in = YourClassName.class.getClassLoader().getResourceAsStream("myfilepath/file.mp3");
假设JAR文件中的路径为myfilepath/file.mp3
,YourClassName
是JAR文件中任何类的名称。