1
可以在mediaplayer或soundpool中播放隊列中的聲音嗎?我有50個持續時間少於1秒的聲音。SoundPool或MediaPlayer隊列
可以在mediaplayer或soundpool中播放隊列中的聲音嗎?我有50個持續時間少於1秒的聲音。SoundPool或MediaPlayer隊列
聽起來像SoundPool的完美案例。 SoundPool非常適合聲音效果,通常很短(比如不到一秒)和豐富的(如50),所以它正是您要查找的內容。 MediaPlayer專門針對諸如背景音樂曲目和視頻之類的長媒體文件,而對於50個小文件則不實用。
但如何播放聲音一個接一個(在隊列中)? – Azor
啊,這有點多。 SoundPool並沒有真正的內置功能來處理它,但有幾件事你可以嘗試。你可以做的一種方法是運行一個計時器,可能在後臺線程中,每900毫秒左右播放下一個聲音。與此相關的問題是,如果聲音文件之間的長度差異很大,則必須使用最長聲音的長度來避免截斷/重疊,否則可能會導致不必要的間隙。 – alexc
你也可以看看布倫特對[這個問題]的答案(http://stackoverflow.com/questions/3663794/android-soundpool-timing),他在那裏談論獲取每個聲音文件的持續時間並相應地排序它們。他使用MediaPlayer來獲得持續時間,這有點浪費和不理想,但這是另一種選擇。 – alexc