当尝试播放音频文件时,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

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

EDIT:在Eclipse中,如果错误一直显示,将您的工作空间更改为一个新的

JLayer的版本对我来说并不重要。

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

相关内容

  • 没有找到相关文章

最新更新