2013-11-03 56 views
1

我想在Android上播放短音(.ogg)並嘗試使用soundpool。 聲音應該播放幾次,所以我使用了聲音庫循環參數。在我的Nexus 4(JB4.3)上,soundpool中的循環參數被忽略,聲音只會播放一次。Android soundpool loop不工作:替代

這似乎是一個的Soundpool錯誤: Soundpool not looping in android 4.3

是什麼的Soundpool打一短聲和重複的聲音最好的選擇嗎?

回答

0

此問題正在android問題跟蹤器(http://code.google.com/p/android/issues/detail?id=58113)中討論。

顯然沒有直接的解決方法。

在audioTrack中,聲音循環可以通過setLoopPoints()API調用實現。

audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 
      sampleRateInHz, AudioFormat.CHANNEL_CONFIGURATION_MONO, 
      AudioFormat.ENCODING_PCM_16BIT, totalNumOfSamples, 
      AudioTrack.MODE_STATIC); 
    audioTrack.write(pcmdata, 0, pcmdata.length); 
    //the end frame is the length/4 if it is 16bites 
    audioTrack.setLoopPoints(0,pcmdata.length/4,-1); 
    audioTrack.play(); 
0

我找到解決方案來解決循環的問題。

我不知道如何,但適用於這個限制。

soundpool可以循環聲音只有文件size< 1mb.