Slick2D音乐无法正常工作

时间:2013-02-04 13:00:59

标签: java lwjgl slick2d

我目前正在测试Slick2D,这就是我为什么要写Pong游戏, 此外,在这个PongGame中,您可以选择音乐文件,它们位于./music文件夹

当我通过Eclipse运行它时,一切都很完美。 当我导出它时,运行它与文件夹中的所有本机和Librarys,它也启动, 但音乐菜单不起作用(当我选择音乐时它只会崩溃)

您可以看到的代码: https://bitbucket.org/JohnnyCrazy/pingpong/src/f2fd635ccfef/src/me/Johnny/Slick2D?at=master

Error: Mon Feb 04 13:47:05 CET 2013 ERROR:OpenAL error: Invalid
Operation (40964) org.lwjgl.openal.OpenALException: OpenAL error:
Invalid Operation (40964)
        at org.lwjgl.openal.Util.checkALError(Util.java:64)
        at org.lwjgl.openal.AL10.alDeleteBuffers(AL10.java:1097)
        at org.newdawn.slick.openal.AudioImpl.release(AudioImpl.java:56)
        at org.newdawn.slick.Music.release(Music.java:424)
        at me.Johnny.Slick2D.Slick2D.setMusic(Slick2D.java:57)
        at me.Johnny.Slick2D.MusikState.update(MusikState.java:108)
        at org.newdawn.slick.state.StateBasedGame.update(StateBasedGame.java:278)
        at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:678)
        at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456)
        at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361)
        at me.Johnny.Slick2D.Slick2D.main(Slick2D.java:40) Mon Feb 04 13:47:05 CET 2013 ERROR:Game.update() failure - check the game code.
  org.newdawn.slick.SlickException: Game.update() failure - check the
  game code.
         at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:684)
         at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456)
         at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361)
         at me.Johnny.Slick2D.Slick2D.main(Slick2D.java:40)

我不明白为什么它在Eclipse中有效并且导出它没有。

1 个答案:

答案 0 :(得分:0)

Music(String)的构造函数的JavaDocs对于如何解释String并不完全清楚。采用String的J2SE方法通常假定它代表File的路径。如果是这种情况,那也是失败背后的原因。

通常,这些类型的资源在应用时变为。建成。 URL必须访问嵌入式资源。有关形成URL的提示,请参阅embedded resource info. page