2014-02-05 62 views
5

我正在使用LibGdx中的聲音界面來播放mp3音頻文件。當選擇使用sound.loop();多次循環播放聲音時,它可以工作,但每次播放聲音時都會保持很短的靜音時間。那麼有沒有什麼方法可以擺脫這個沉默的時期,或者比我使用的播放音效更流暢?如何在LibGdx中平滑音效循環?

這裏是我的代碼:

Sound accelarating_sound1; 
    accelarating_sound1 = Gdx.audio.newSound(Gdx.files.internal("speedUp.mp3")); 
    accelarating_sound1.loop(1,f,0);   
+1

Jusst可以肯定的是:你的聲音是否支持循環,意味着最後沒有沉默期(很多聲音都有這個),結尾和beginnning一樣,所以你聽不到從結尾跳到「跳」開始。 – Springrbua

+1

我有完全相同的問題,只是爲了澄清,我使用支持循環的.mp3文件(在開始和結束時都沒有)。使它成爲一個.wav將從850kb增加到近9mb,所以我猜這對我來說也不是一種選擇。 –

+0

僅供參考,我使用'ogg'文件並沒有遇到這個問題(解碼/開始/結束間隙)。 – ashes999

回答

3

MP3文件必須在開始時有些解碼延遲,使用WAV文件會給你更大的filesizes但似乎並不有延遲(?)。

奇怪的是,libgdx可以讓你設置一個軌道是否循環,但是當它幾乎完成時不會緩衝軌道的開始。

我的答案是小音效的快速修復,因爲我也有同樣的問題,除了循環樂曲。使它成爲一個WAV將佔用太多的空間。

0

聲音應該只用於短文件(幾秒鐘)。如果您的文件比您需要使用音樂課程長。

0

萬一有人面臨着類似的問題,我有這個問題也和使用.ogg音樂文件,而不是.mp3解決它。