我正在開發一個使用eclipse和libgdx的簡單遊戲。 目前,我正在使用'音樂'而不是'Sound'來播放我的遊戲的音效。 我做了一個按鈕,用於靜音所有的聲音fx,但是當涉及到「聲音」而不是音樂時出現問題。在libgdx中靜音'Sound'而不是'Music'
這裏是我當前的代碼:
public static Music jump;
public static void load() {
jump = Gdx.audio.newMusic(Gdx.files.internal("data/jump.wav"));
}
public static void muteFX() {
lesgo.setVolume(0);
public static void normalizeFX() {
jump.setVolume(1f);
//'muteFX' and 'normalizeFX' to be called on different class
我想將其更改爲「聲音」(的原因我想這是對快速點擊的響應,),所以它可能是這樣的:
public static Sound jump;
public static void load() {
jump = Gdx.audio.newSound(Gdx.files.internal("data/jump.wav"));
}
/* here comes my problem, didn't know how to set mute and normal
volume for the jump sound. I know there is also a set volume method
to 'Sound' but really confused on the terms (long soundID, float volume)
Can someone make this clear to me on how to implement the long and soundID?
*/
我真的很新來libgdx,以及在Java。我研究了許多論壇,但仍然找不到更清楚的解釋。 任何幫助將不勝感激。
非常感謝! =)
嘿,謝謝了很多回答,但是,試過這個,但我想知道爲什麼即使我運行/按下muteFX()方法,我也不能靜音。當它被調用時,它仍然使用「VOLUME = 1.0f」。我的聲音只是一個音效(持續1秒)而不是循環。 – jajuatco
當你打電話給你正在傳遞VOLUME嗎? sound.play(VOLUME)?嘗試在運行時記錄VOLUME,Gdx.app.log(「APP」,「My Volume:」+ VOLUME); – compulsivestudios
現在解決我的問題!我從這個答案中學到了很多東西。非常感謝!我的代碼的問題是,它不會在運行時記錄。我使用'VOLUME = 0.0f'從運行時遊戲類中返回了音量,並在靜音按鈕上聲明該音量來解決此問題。非常感謝! =) – jajuatco