SoundPool的一些可能導致沒有聲音的注意事項

2021-07-13 14:49:08 字數 1039 閱讀 8721

soundfool用法雖然簡單,但是也會出現一些小錯誤。

從網上能找到的這幾條,有則改之,無則加勉吧。

1、audioflingercould not  create track, status:-12

soundpool即音效池,在建立的時候

audioflingercould not  create track, status: -12。。。。一旦報了這個錯,你就聽不到聲音了,呵呵。

2、256個音效

當呼叫load方法的時候實際就是把音效載入到了soundpool中,此時返回的streamid其實就是該音效在soundpool中的id,這個id從0還是1來著(有點記不清了)遞增,不過要注意的是,不要超過  256 這個臨界點。也就是說第257個聲音載入進去後,呼叫play方法其實是播不出來的,說不定還會擠掉一些前面載入好的聲音。這個256的限制通過檢視sdk原始碼基本就能了解清楚,它底層就那麼實現的,用乙個類似堆疊來存。

3、unload方法和release方法

如果你音效多,也不要指望unload方法來清除掉一些音效後再load新的進去,雖然unload後音效解除安裝了,但是前面分給它在soundpool裡面的id可沒有釋放掉,也就是說這個時候你load新的進去只會在後面繼續累加,然後累加多了就超過256了,然後就就聽不到聲音,然後就沒有然後了。要想徹底清掉前面的音效請使用release方法,它會連記憶體中占用的資源一起釋放掉。

其他還有點什麼呢,load需要一點點時間,load後不要馬上unload,load---play--unload的做法並不可取,不要load太大的音效,它只會申請1m的記憶體空間。soundpool出錯後通常會看到retuen的值是0。

HTML可能會用到的一些知識

doctype宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來解析文件,否則不指定就以相容模式來解析。html5為什麼系需要引入 而不需要引入dtd?常見的空元素有哪些?meta viewport 是做什麼的?怎麼寫?頁面匯入樣式時,使用 li...

Latex新手可能遇到的一些問題

1 latex的安裝 latex有網頁版還有軟體版,我選用的是miktex texstudio的軟體方式,具體的安裝步驟,可以參考這篇文章 每次安裝完成後就可以通過開啟texstudio進行編輯了 作為新手,實時踩坑,實在痛苦,下面記錄一下踩的幾個坑 1.標題作者不顯示 解決辦法 在 begin下面...

PHP一些可能會忽略的問題。。

1.echo和print的區別 php中echo和print的功能基本相同 輸出 但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為乙個普通函式來使用,例如執行下面的 後變數 r的值將為1。r print hello world ...