无法将.ogg音乐文件加载到Slick2D中的Eclipse项目中

时间:2014-12-13 01:36:13

标签: slick2d

嗨,我在这里很新,我学习如何使用Slick2D游戏库。我正在使用Eclipse Luna IDE进行编码。到目前为止一切正常,但当我尝试加载带有“.ogg”扩展名的音乐时,问题就出现了。

我尝试通过这行代码加载音乐 music = new Music(“res / game_music.ogg”);

像这样发生异常,

AL lib: FreeContext: (000000000E2F08A0) Deleting 64 Source(s)
Exception in thread "main" java.lang.NoClassDefFoundError: com/jcraft/jorbis/Info
    at org.newdawn.slick.openal.OggInputStream.<init>(OggInputStream.java:35)
    at org.newdawn.slick.openal.OggDecoder.getData(OggDecoder.java:311)
    at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:835)
    at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:793)
    at org.newdawn.slick.Music.<init>(Music.java:135)
    at org.newdawn.slick.Music.<init>(Music.java:74)
    at main.Game.init(Game.java:48)
    at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:390)
    at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314)
    at main.Game.main(Game.java:33)
Caused by: java.lang.ClassNotFoundException: com.jcraft.jorbis.Info
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 10 more

我可以向你保证 1.我已经在互联网上寻找足够的时间找到解决方案,令人惊讶的是,即使许多其​​他人遇到类似的问题,我也找不到任何有用的东西。 2.“res / game_music.ogg”在正确的位置。我是新来的,不能在我的问题中包含图片,否则我会包含一个截图,表明该文件位于正确的位置。

重要提示: 在设置项目时我遇到了一些困惑。我现在不想延长我的问题所以我现在不是在谈论这个问题。但是如果这里有人告诉我这里的问题与lwjgl.jar / slick.jar / native files等有关,那么我会把它包括在内。 在这一刻,只要知道在尝试加载音乐之前,其他所有渲染/更新工作都可以正常工作。

非常感谢任何有用的答案。

1 个答案:

答案 0 :(得分:3)

您必须在项目中包含2个罐子。

下载Slick2D archive,然后将lib/jogg-0.0.7.jarlib/jorbis-0.0.15.jar添加到您的项目中。

希望它有所帮助。