我想在Android上播放短音(.ogg)並嘗試使用soundpool。 聲音應該播放幾次,所以我使用了聲音庫循環參數。在我的Nexus 4(JB4.3)上,soundpool中的循環參數被忽略,聲音只會播放一次。Android soundpool loop不工作:替代
這似乎是一個的Soundpool錯誤: Soundpool not looping in android 4.3
是什麼的Soundpool打一短聲和重複的聲音最好的選擇嗎?
我想在Android上播放短音(.ogg)並嘗試使用soundpool。 聲音應該播放幾次,所以我使用了聲音庫循環參數。在我的Nexus 4(JB4.3)上,soundpool中的循環參數被忽略,聲音只會播放一次。Android soundpool loop不工作:替代
這似乎是一個的Soundpool錯誤: Soundpool not looping in android 4.3
是什麼的Soundpool打一短聲和重複的聲音最好的選擇嗎?
此問題正在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();
我找到解決方案來解決循環的問題。
我不知道如何,但適用於這個限制。
soundpool可以循環聲音只有文件size
是< 1mb.