我使用OpenSL ES在我的項目中播放音樂和聲音。我已經使用原生音頻樣本作爲開始,並且可以用於再現背景音樂和單個聲音,但是當我嘗試在同一時間再現兩個或更多聲音時,由於聲音緩衝區已被排入播放所有以前的緩衝區時播放。使用OpenSL ES同時播放多種音效Android
然後,一個小小的研究後,我發現兩種方法來解決它,簡稱:
- 使用幾個音頻播放器(因此緩衝隊列)爲再現聲音。
- 將音效緩衝區混合到一個緩衝區中,然後入隊。
我的問題是: 你認爲什麼是最好的方法?我忽略了一個更好的方法?
在此先感謝。
首先,謝謝你的迴應。我在一箇舊項目中使用了SoundPool,是的,它非常簡單,即使使用C++也很容易實現,但是對於我來說SoundPool有兩個大問題,**它在Galaxy S設備上崩潰**並且非常不穩定**(有些聲音從未播放過,第一次播放沒有奏效......)。 – gergonzalez