[Android] 使用SoundPool播放音效

  • 8625
  • 0

摘要:[Android] 使用SoundPool播放音效

Step1: 建立res/raw,將音效檔放到raw下

  • 此處使用wav檔案測試,但多數高手建議使用ogg

  • 檔名必須是小寫!!!!

  • 檔案需小於1MB

 

Step2: 宣告SoundPool物件,並預先載入音效檔

/******************** 
建立 SoundPool
    第一個參數:SoundPool 不像 MediaPlayer 一個實體管理一個音樂檔案,SoundPool 可以一個實體管理多個檔案
    第二個參數:串流類型
    第三個參數:取樣品質,預設用 0
********************/
SoundPool sound = new SoundPool(10, AudioManager.STREAM_MUSIC, 5);

int OK = sound.load(this, R.raw.ok , 1);
int OO = sound.load(this, R.raw.oo , 1);

Step3: 播放音效 -> play()

// 第二、三參數分別為左右喇叭的音量,可用 0 到 1
// 第四參數固定用 0
// 第五個參數為播放次數,0 為不重複,-1 為無限重複
// 第六個參數為播放速度,可用 0.5 到 2
sound.play(this.OK, 1, 1, 0, 0, 1);
sound.play(this.OO, 1, 1, 0, 0, 1);

參考資料:

http://goo.gl/1Pq5K

http://goo.gl/duX2M