2012-11-16 47 views
16

我想在android中無間隙地循環播放聲音。 我試着用代碼mediaplayer.setLooping(true)來循環聲音,但是當第一個聲音結束並且下一個聲音開始時總會有一些暫停。如何在Android中無間隙地循環播放聲音?

+0

我也是新人,但我確實有一個問題。也許你的聲音有差距嗎? –

回答

15

嘗試使用的.ogg文件格式在應用程序中的聲音文件。我有同樣的問題,大量的研究後,我試過.OGG格式,它循環沒有任何Android的差距

信息關於.OGG格式:http://en.wikipedia.org/wiki/.ogg

您可以輕鬆地轉換成MP3播放聲音文件或你有什麼,使用流行的.OGG開源軟件VLC Media Player

+1

坦克,它的工作原理... – BrantYu

+1

當使用'SoundPool'時也有所幫助 – weston

+6

在我的情況下不起作用:/ – gkiko

1

它通常工作得很好,除非你有一個非常慢的手機。

我會用Audacity之類的音頻編輯器仔細檢查聲音文件,以驗證它在文件的開頭或結尾沒有任何沉默。

+0

只需檢查時間戳lol –

7
+0

以重複其他人的說法,使用OGG格式並且您很好。我發現Audacity在剪切文件中的任何「空白」並將其保存到.OGG方面做得很好。最好的部分是Audacity是免費的。 –

+2

我試着切換到.OGG,用Audacity創建,並沒有發現它爲我的21秒音頻樣本提供了無縫播放。 –

+1

您將不得不使用Audacity實際修剪音頻文件以使其無間隙。 –

3

另外值得注意的是,無縫播放已添加Jelly Bean(API級別16)。它允許您設置應用於播放下一個音頻流的輔助媒體播放器,只要主播放器尚未完成播放當前音頻。這可能會被用來創建一個無縫循環。

public void setNextMediaPlayer (MediaPlayer next)

顯然,這不會是大多數市場(目前< 3% of the devices is running JB)有很大幫助,但仍然值得一提。