我正在使用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。
没有任何错误,但声音没有播放。
你能帮我解决一下吗?
感谢。
答案 0 :(得分:1)
您的项目似乎设置正确,因为没有例外。
我建议您检查您的声音是否真的播放过:
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
显然,Sound Class的构造函数需要OGG,MOD / XM文件的路径。您应该使用这些格式之一来确保每个事件都按预期工作。
答案 1 :(得分:0)
我正在为寻找这种情况的答案的其他人发布此信息。 在Windows中:我只是将库位置更改为项目外部。然后它从项目属性重置库路径后工作。但在Linux中它没有做任何事情工作正常。如果您确定已正确添加所有库并出现错误,我建议您将库位置更改为项目外部。