我正在爲android 2.2編程,並試圖使用 SoundPool類同時播放幾個聲音,但是隨機時間的聲音會停止從揚聲器中傳出。AudioFlinger無法創建曲目。狀態:-12
對於本來玩過這個每個聲音印在logcat中:
AudioFlinger could not create track. status: -12
Error creating AudioTrack
Audio track delete
沒有異常被拋出,程序可以繼續,而不只是缺乏成交量的任何變更執行。我很難追查哪些情況會導致錯誤,或者在發生錯誤後重新創建它。我無法在任何地方找到文檔中的錯誤,而且幾乎無所適從。
任何幫助將不勝感激!
編輯:我忘了提及我加載MP3文件,而不是ogg。
您創建多少首曲目? AFAIK -12是'NO_MEMORY',這可能意味着你已經用完了曲目(我認爲開放曲目的最大數量曾經是32--不知道這是否仍然如此)。 – Michael 2012-08-15 08:50:36
嗯,我加載了很多曲目,但它們被分成了5個soundpools。每個soundpool將有最多15個加載的聲音。你知道32個最大音軌是系統範圍還是每個聲音池? – user1599837 2012-08-15 20:07:10
它是每個混音器線程(其中你有一個每個輸出線程AFAIK)。但是由於許多平臺對所有非A2DP播放使用單個輸出線程,因此它基本上成爲全侷限制。 – Michael 2012-08-16 09:20:10