簡體   English   中英

libGDX WAV聽起來像鋸

[英]libGDX wav sound like a saw

我在將步行聲音循環到我的一個對象時遇到問題。 我的游戲在不同的狀態下運行,我希望聲音在“ RUNNING”狀態下循環播放,問題是wav聽起來像鋸子。 在我的渲染類中創建全局“ long loopWalkSound = -1”之后,一個朋友給了我一個很好的解決方案:

if (myWorld.isRunning()) {
    if (loopWalkSound == -1) {
        loopWalkSound = AssetLoader.walk.loop();
    }
    drawGame(runTime);
    drawGameButtons();
    drawScore();
}

使用此代碼可以使wav正常播放,但是從播放開始就不會停止。 我的意圖是讓WAV只在第一個條件的狀態下播放,並在離開該狀態時停止,或者在游戲聲音關閉時完全不播放(我尚未針對特定的WAV實現此功能,只是為了給您一個想法) 。 有人可以幫忙解決嗎?

將其包裝為布爾檢查,這樣就不必在每個幀上都重新啟動它。 在下面,將wantWalkLoopToBePlaying更改為任何條件,確定您是否要播放聲音。 例如: boolean wantWalkLoopToBePlaying = state == RUNNING;

if (!walkLoopIsPlaying && wantWalkLoopToBePlaying) {
    loopWalkSound = AssetLoader.walk.loop();
    if (loopWalkSound != -1) walkLoopIsPlaying = true;
} else if (walkLoopIsPlaying && !wantWalkLoopToBePlaying) {
    AssetLoader.walk.stop();
    walkLoopIsPlaying = false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM