使用JLayer播放mp3资源

时间:2014-11-15 14:26:45

标签: java mp3 jlayer

我正在尝试使用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();
}

2 个答案:

答案 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();

请注意在路径中使用双“\”。