看板 AndroidDev 關於我們 聯絡資訊
開發層: (應用/框架/庫/核心) 應用 問題: 各位神人好!小弟在用soundpool寫一個吉他程式 所以需要切換音效,目前小弟用的這方法雖然有效 但似乎會延遲一秒後才會切換成功,不管一次切換幾個都一樣 且如果沒有等延遲而太快按,會導致切換失敗而沒有音效出現 可否幫小弟看看這寫法是否哪裡出了問題而導致Delay 還是說Soundpool就是這樣@@? 因為我有用其他吉他程式他們的Delay程度沒有我這麼嚴重(應該說很順 先在這謝謝各位!!!m(_ _)m 程式碼: (請多利用置底文網站) 這是音效load處 public void setSP(int ch6,int ch5){ m[5] = sp[5].load(getBaseContext(),ChordIds[ch6], 0 ); m[4] = sp[4].load(getBaseContext(),ChordIds[ch5], 0 ); } 然後當我按下button時就會切換 iButton1=(ImageButton) findViewById(R.id.iButton1); iButton1.setOnClickListener(new OnClickListener(){ public void onClick(View v){setSP( 5 , 4);}}); -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.127.177.250 ※ 編輯: snowoffish 來自: 122.127.177.250 (04/21 22:45)
ericinttu:我之前用soundpoll,是即點即放音效,可能是寫法不同吧!? 04/21 22:57
ericinttu:不知道你流程裡面, 哪邊有這個延遲? 04/21 22:58
snowoffish:就是在切換和絃的時候~因為我是用TouchEvent觸發音效 04/21 23:00
snowoffish:Button是要切換成其他音效後 再讓我down&move觸發 04/21 23:00
snowoffish:不好意思沒說清楚XDD 04/21 23:01
ericinttu:其實我還是不懂 XDD 04/21 23:02
snowoffish:sp[5]原本是load ChordIds[0]這音效檔 04/21 23:03
snowoffish:然後我按Button後 他會變成ChordIds[5]的音效檔 04/21 23:04
snowoffish:在這切換過程中會有延遲,聲音會出不來 04/21 23:04
sorrel20567:你是用實機去跑的嗎?實機硬體比模擬器快很多 04/22 12:46
對 實機hero,我在想如果換成Desire會不會比較快
chrisho:每次播放都再load一次嗎? 可以找一下有用放在記憶體的方法 04/22 13:07
放在SDCard會比較快囉?我現在改成只用一個SonudPool延遲有比較少了! ※ 編輯: snowoffish 來自: 122.127.177.250 (04/22 17:09)
snowoffish:看來是我幻覺=_= 04/22 19:36
chrisho:SoundPool就是用來解決延遲的啊, 播放時不是只要play就好 04/23 08:51
chrisho:前面如果已經 load 過,播放時不必再 load ... 04/23 08:52
snowoffish:唔!?樓上的意思是指? 04/23 14:43
snowoffish:讓所有的音效都先Load好,不是像我這樣每次都load嗎? 04/23 14:44
snowoffish:這方法我也是有想過.看來只好用這方法了 04/23 14:45
ericinttu:原來你沒先load好啊 XDD 04/23 23:03
snowoffish:...我有先Load初始的音效,之後是再Load進去 04/23 23:29
snowoffish:主要是再問能否改善Load的速度= = 04/23 23:30
snowoffish:不過我已經改成全部先Load囉 所以一剛開始需要等一會 04/23 23:30
ericinttu:一般作法是把會造成delay的部份先載入到memory,當然記憶 04/24 01:17
ericinttu:體不夠或有限的作法的話, 還要再仔細研究下去. 04/24 01:18
ericinttu:我也沒什麼相關經驗, 看神人們會給什麼hint. 04/24 01:18
snowoffish:所以就是用sdcard囉?? 04/24 20:48
chrisho:我意思是, 只要load一次,之後都讀memory就好啦, 不一定要 04/26 13:23
chrisho:事先全部load完, 萬一有100個音效, 你要全load也不好吧 04/26 13:24