2016-06-14 135 views
0

我正在开发一个使用java slick2D的2D游戏。游戏工作正常,没有错误。但我尝试播放声音和音乐。无论如何,我无法发挥。这是我的代码。在slick2D中播放声音和音乐java游戏库

@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

我张贴这种为别人谁找这种情况的答案。在windows中: :我只是将库位置改为项目外部。然后它重新从项目属性的库路径后工作,但在Linux中,它没有做任何事情工作正常。如果您确定已经正确添加了所有库并获取了一些错误,我建议您将库位置更改为项目外部。

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类的构造函数想要的路径到OGG,MOD/XM文件。您应该使用其中一种格式来确保所有东西都按预期工作。

+0

“org.lwjgl.LWJGLException:找不到OpenAL库。”我从netbeans输出中找到了这个。这是什么意思?我该怎么办? – thathsara

+0

你在库路径上有OpenAL本地文件吗? –

+0

是的。它们位于库路径 – thathsara