我正在用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();
}
我用过慢跑-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");
}
如果这打印出"工作",您的.wav文件可能已损坏。您可以尝试改用.ogg文件。此外,我认为Slick仅支持8/16位单声道/立体声格式。
您可以尝试的另一件事是将代码放入更新循环中,看看它的行为方式。
另请参阅此处的文档: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
显然,声音类的构造函数想要 OGG、MOD/XM 文件的路径。您应该使用这些格式之一来确保一切按预期工作。
我正在为其他寻找这种情况答案的人发布此内容。在窗口中:我刚刚将库位置更改为项目外部。然后它在从项目属性重置库路径后工作。但在 Linux 中它无需执行任何操作即可正常工作。如果您确定已正确添加所有库并出现一些错误,我建议您将库位置更改为项目外部。