尝试播放音频文件时出现java JLayer异常
我一直在测试一个可以在PC和Android平台上运行的Java库,几天前这里有人告诉我使用JLayer。今天我很高兴地编写代码,然后出现了一个异常:
java.lang.ExceptionInInitializerError
at javazoom.jl.decoder.SynthesisFilter.load_d(Unknown Source)
at javazoom.jl.decoder.SynthesisFilter.<init>(Unknown Source)
at javazoom.jl.decoder.Decoder.initialize(Unknown Source)
at javazoom.jl.decoder.Decoder.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at Main.Play(Main.java:23)
at Main.main(Main.java:164)
Caused by: java.io.IOException: unable to load resource 'sfd.ser'
at javazoom.jl.decoder.JavaLayerUtils.deserializeArrayResource(Unknown Source)
... 9 more
我试图用谷歌搜索这个异常的原因,但没有结果,所以我来这里请求你的帮助
这是我尝试播放音频文件的函数:
public static void Play()
{
try
{
InputStream fis = new FileInputStream("L://POO//MyWS//WakeUp!//Back in black.mp3");
Player p = new Player(fis);
p.play();
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch (JavaLayerException e)
{
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
catch(ExceptionInInitializerError e)
{
e.printStackTrace();
}
}
提前谢谢你!:D
# 1 楼答案
最后,我使用了JLayer 1.0,它就像一个符咒,你可以从here获得它。这是我找到的一个样本代码here
编辑:在Eclipse中,如果错误不断出现,请将您的工作区更改为新的工作区
# 2 楼答案
JLayer的版本对我来说并不重要
在我的例子中,导入javazoom。jl。游戏者光有球员是不够的。在将应用程序构建到jar中时,我确实包含了jl1。0.1.jar,但我还必须确保在构建文件的fileset dir中包含javazoom