adnroid SoundPool短提示音播放

一零渐、SoundPool相對于MediaPlayer的優(yōu)點

1.SoundPool適合 短且對反應(yīng)速度比較高 的情況(游戲音效或按鍵聲等)遍膜,文件大小一般控制在幾十K到幾百K,最好不超過1M者甲,

2.SoundPool? 可以與MediaPlayer同時播放商佛,SoundPool也可以同時播放多個聲音闷愤;

3.SoundPool 最終編解碼實現(xiàn)與MediaPlayer相同整葡;

4.MediaPlayer只能同時播放一個聲音,加載文件有一定的時間肝谭,適合文件比較大掘宪,響應(yīng)時間要是那種不是非常高的場景


注意:使用SoundPool播放的聲音文件格式最好使用ogg


二、下面是我封裝的工具類

package com.jy.toolcar.util;

import android.media.AudioManager;

import android.media.SoundPool;

import com.jy.toolcar.R;

import com.jy.toolcar.base.MyApplication;

import java.util.HashMap;

import static android.content.Context.AUDIO_SERVICE;

/**

* Created by cc

* On 2019/7/22.

* 聲音播放工具類

*/

public class SoundUtils {

private volatile static SoundUtilssingleton;

? ? private SoundUtils() {

}

public static SoundUtilsgetSingleton() {

if (singleton ==null) {

synchronized (SoundUtils.class) {

if (singleton ==null) {

singleton =new SoundUtils();

? ? ? ? ? ? ? ? }

}

}

return singleton;

? ? }

HashMapsoundMap =new HashMap();

? ? private SoundPoolsoundPool;

? ? private float volumnRatio;

? ? private AudioManageram;

? ? public void initSound() {

soundPool =new SoundPool(10, AudioManager.STREAM_MUSIC, 5);

? ? ? ? soundMap.put(1, soundPool.load(MyApplication.getAppContext(), R.raw.warn1, 1));//聲音文件

? ? ? ? soundMap.put(2, soundPool.load(MyApplication.getAppContext(), R.raw.warn2, 1));

? ? ? ? am = (AudioManager) MyApplication.getAppContext().getSystemService(AUDIO_SERVICE);// 實例化AudioManager對象

? ? }

/**

? ? * 播放提示音

? ? *

? ? * @param id 成功1攘烛,失敗2

*/

? ? public void playSound(int id) {

float audioMaxVolumn =am.getStreamMaxVolume(AudioManager.STREAM_MUSIC); // 返回當前AudioManager對象的最大音量值

? ? ? ? float audioCurrentVolumn =am.getStreamVolume(AudioManager.STREAM_MUSIC);// 返回當前AudioManager對象的音量值

? ? ? ? volumnRatio = audioCurrentVolumn / audioMaxVolumn;

? ? ? ? try {

soundPool.play(soundMap.get(id), volumnRatio, // 左聲道音量

? ? ? ? ? ? ? ? ? ? volumnRatio, // 右聲道音量

? ? ? ? ? ? ? ? ? ? 1, // 優(yōu)先級魏滚,0為最低

? ? ? ? ? ? ? ? ? ? 0, // 循環(huán)次數(shù),0無不循環(huán)坟漱,-1無永遠循環(huán)

? ? ? ? ? ? ? ? ? ? 1 // 回放速度 鼠次,該值在0.5-2.0之間,1為正常速度

? ? ? ? ? ? );

? ? ? ? }catch (Exception e) {

e.printStackTrace();

? ? ? ? }

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芋齿,一起剝皮案震驚了整個濱河市腥寇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌觅捆,老刑警劉巖赦役,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異栅炒,居然都是意外死亡掂摔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門赢赊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乙漓,“玉大人,你說我怎么就攤上這事释移“扰” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵玩讳,是天一觀的道長涩蜘。 經(jīng)常有香客問我,道長熏纯,這世上最難降的妖魔是什么皱坛? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮豆巨,結(jié)果婚禮上剩辟,老公的妹妹穿的比我還像新娘。我一直安慰自己往扔,他們只是感情好贩猎,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著萍膛,像睡著了一般吭服。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝗罗,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天艇棕,我揣著相機與錄音蝌戒,去河邊找鬼。 笑死沼琉,一個胖子當著我的面吹牛北苟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播打瘪,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼友鼻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闺骚?” 一聲冷哼從身側(cè)響起彩扔,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎僻爽,沒想到半個月后虫碉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡胸梆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年蔗衡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乳绕。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡绞惦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洋措,到底是詐尸還是另有隱情济蝉,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布菠发,位于F島的核電站王滤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏滓鸠。R本人自食惡果不足惜雁乡,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糜俗。 院中可真熱鬧踱稍,春花似錦、人聲如沸悠抹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楔敌。三九已至啤挎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卵凑,已是汗流浹背庆聘。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工胜臊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伙判。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓象对,卻偏偏與公主長得像,于是被迫代替她去往敵國和親澳腹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容