0

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

2 回答 2

1

您不应该使用File源文件夹中的资源。
尝试
InputStream is = getClass().getResourceAsStream("/(package name)/audio.mp3");

于 2018-05-17T02:40:28.540 回答
0

你为什么不尝试绝对路径来播放这首歌。使用此代码作为参考:

FileInputStream fis = new FileInputStream("G:\\Songs\\fireinthehole.mp3");
player = new AdvancedPlayer(fis);
player.play();

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

于 2014-11-16T17:26:10.857 回答