我正在尝试使用JLayer播放mp3。该文件在我的罐子里,但我无法弄清楚如何使它发挥。我如何在与我的类相同的包中为我的应用程序提供mp3文件的路径? 这是我的代码:
File file = new File("audio.mp3");
System.out.println("located media at "+file.getAbsolutePath());
AdvancedPlayer player = null;
try {
player = new AdvancedPlayer(new FileInputStream(file),
FactoryRegistry.systemRegistry().createAudioDevice());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JavaLayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Starting the music... ");
try {
player.play();
} catch (JavaLayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
您不应将File
用于源文件夹中的资源。
试试
InputStream is = getClass().getResourceAsStream("/(package name)/audio.mp3");
答案 1 :(得分:0)
为什么不尝试绝对路径来播放这首歌。使用此代码作为参考:
FileInputStream fis = new FileInputStream("G:\\Songs\\fireinthehole.mp3");
player = new AdvancedPlayer(fis);
player.play();
请注意在路径中使用双“\”。