構造方法 : soundpool(int maxstreams, int streamtype, int srcquality) ;
引數解析 :
streamtype : 該引數定義音訊型別 , 遊戲中一般設定為audiomanager.stream_music .
srcquality : 該引數用來設定音訊質量 , 這個引數目前沒有作用 , 這裡設定為 0;
載入音訊檔案方法 :intload(context context, int resid, int priority);
引數解析 :
context : 上下文物件;
resid : 要載入的資源檔案 , 即r.raw.music...
priority : 優先級別 , 這裡沒有作用 , 設定為1.
引數解析 :
soundid : 這個id不是資源id , 指的是利用load方法載入資源檔案返回的id值 , 這個要區別清楚.
leftvolume : 左聲道的音量 , 這個音量是乙個 0 ~ 1的數 , 這個小數是當前音量/最大音量的結果;
rightvolume : 右聲道的音量 , 這個音量與左聲道的音量是同一種音量;
priority : 優先順序引數 , 0為最低, 這裡設定為1;
loop : 音效迴圈的次數 , 0為不迴圈 , -1為永遠迴圈;
rate : 音效回放的速度 , 這個值是在0.5~2.0f之間 , 1f是正常速度;
獲取方法 : audiomanager物件時系統服務, 可以通過呼叫上下文物件的getsystemservice(context.audio_service)獲取 , 注意獲取到之後 , 需要將物件牆磚為audiomanager物件才可以使用.
利用audiomanager獲取當前音量的方法 : float currvolume = audiomanager.getstreamvolume(audiomanager.stream_music);
利用audiomanager獲取當前系統最大音量方法 : float maxvolume = audiomanager.getstreammaxvolume(audiomanager.stream_music);
使用這兩個音量就可以計算出執行soundpool音效的音量 , 當前音量 / 系統最大音量 , 結果就是soundpool.play()方法中需要傳入的音量 ;
public class mainactivity extends activity implements onclicklistener
private void initsoundpool()
@override
public void onclick(view v) }
private void play(int sound, int loop)
}
遊戲中的音效
1.遊戲中的即時音效 soundpool類 public int load context context,int resid,int priority 架子啊音訊檔案 context 該引數為應用程式的上下文 resid 該引數為要載入的音效資源的id priority 優先順序 例項 初始化聲音...
android 音效處理 (2)
android 音效混響處理,系統提供了2個類分別是 environmentalreverb 和 presetreverb。presetreverb 使用比較簡單,內建了一些固定的混響效果,但實際效果不是非常好。presetreverb 常用使用方法 mpresetreverb new preset...
1 實現音效筆記
package com.shiqiu.yinxiao 1.sp new soundpool 物件 b.載入資源 public int load context context,int resid,int priority 解釋下 lodd 上下文 activity 資源檔案id r.raw.atta...