2016-06-14 139 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