尝试播放音频文件时出现JLayer异常

时间:2013-05-05 03:25:02

标签: 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

2 个答案:

答案 0 :(得分:1)

最后我使用的是JLayer 1.0,它就像一个魅力,你可以从here得到它。这是我找到的示例代码here

Eclipse中的

编辑:,如果错误不断出现,请将工作区更改为新工作区。

答案 1 :(得分:0)

JLayer的版本对我来说无关紧要。

就我而言,导入javazoom.jl.player.Player是不够的。在将我的应用程序构建到jar中时,我确实包含了jl1.0.1.jar,但我还必须确保在构建文件的文件集目录中包含javazoom。