使用SoundPool放聲音

2021-08-26 10:38:06 字數 1030 閱讀 8786

使用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 ...