使用soundpool放聲音
mediaplayer
類可以做到使用較少的cpu資源和較短的反應延遲。
soundpool
。soundpool基本使用方法為:
建立乙個soundpool物件:new
soundpool(intmaxstreams,intstreamtype,intsrcquality);
從資源或者檔案載入音訊流:load(contextcontext,intresid,intpriority);
privatesoundpoolsndpool;
privatehashmapsndpoolmap=newhashmap();
finalstaticintksoundmin=r.raw.b1;
finalstaticintksoundmax=r.raw.gameover;
finalstaticintksoundnum=ksoundmax-ksoundmin+1;
publicvoid
loadallsounds()
}publicvoid
loadsound(intid)
intindex=sndpool.load(this.getcontext(),id,1);
sndpoolmap.put(""+id,index);
}publicvoid
playsound(intid)
soundpool最大只能申請1m的記憶體空間
soundpool提供了pause和stop方法,但這些方法建議最好不要輕易使用
,但是有的朋友在g1中測試它還是有100ms左右的延遲,這可能會影響使用者體驗。
也許這不能管soundpool本身,因為到了效能比較好的droid中這個延遲就可以讓人接受了。
在現階段soundpool有這些缺陷,但也有著它不可替代的優點,基於這些我們建議大在如下情況中多使用soundpool:
1.應用程式中的聲效(按鍵提示音,訊息等)
2.遊戲中密集而短暫的聲音(如多個飛船同時**),當然大家還可以想到更多的使用方法。
Android中SoundPool放聲音
1 建立乙個soundpool物件 new soundpool int maxstreams,int streamtype,int srcquality 第乙個引數為soundpool可以支援的聲音數量,這決定了android為其開設多大的緩衝區,第二個引數為聲音型別,最後引數為聲音品質,品質越高,...
SoundPool沒有聲音的問題
使用soundpool比較方便,下面就是一段簡單的soundpool的 我們需要在res下建乙個raw資料夾,裡邊放乙個test聲音檔案,但是在實際使用中卻總是不出聲音。private soundpool soundpool soundpool newsoundpool 10,audiomanage...
SoundPool使用總結
一 與mediaplayer的對比 二 建立 soundpool soundpool new soundpool 3,audiomanager.stream music,0 streamtype 流的型別,一般為stream music 具體在audiomanager類中列出 srcquality ...