如何在 slick2D java 游戏库中播放声音和音乐?

How to play sound and music in slick2D java gaming library?

我正在 java slick2D 中开发 2D 游戏。

游戏运行良好,没有错误。但如果我尝试播放声音和音乐则不会。

反正我玩不了。

这是我的代码:

 @Override
        public void init(GameContainer gc,StateBasedGame sbg) throws SlickException{
            sound=new Sound("sounds/town.wav");
            sound.play(1f, 1f);
            sound.play();
        }

并且我用过jogg-0.0.7.jar,jorbis-0.0.17-1.jar,jorbis-0.0.15-1.jar。

没有任何错误,但没有播放声音。

你能给我一个解决方案吗?

谢谢。

您的项目似乎设置正确,没有异常。

建议检查一下你的声音是否真的播放过:

sound.play()
if(sound.playing){
System.print.out("works");
}

如果打印出来 "works" 您的 .wav 文件可能已损坏。 您可以尝试改用 .ogg 文件。 此外,我认为 Slick 仅支持 8/16 位 mono/stereo 格式。

您可以尝试的另一件事是将您的代码放入更新循环并查看其行为方式。

另请参阅此处的文档:http://slick.ninjacave.com/javadoc/org/newdawn/slick/Sound.html

public Sound(java.lang.String ref) throws SlickException

Parameters:ref - The location of the OGG or MOD/XM to load

显然 Sound Class 的构造函数想要 OGG,MOD/XM 文件的路径。您应该使用其中一种格式来确保一切都按预期工作。

我将此发布给正在寻找这种情况的答案的其他人。 在 windows 中:我刚刚将库位置更改为项目外部。然后在 linux 中重置项目 properties.but 的库路径后它工作正常,无需执行任何操作。如果您确定已正确添加所有库并出现一些错误,我建议您将库位置更改为项目外部。