1.先在app->res文件下创建raw文件,再放入要播放bibi声音的文件,如图所示
2.代码如下,调用playSound即可
HashMap<Integer, Integer> soundMap = new HashMap<Integer, Integer>();
private SoundPool soundPool;
private float volumnRatio;
private AudioManager am;
private void initSound(){
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 5);
soundMap.put(1, soundPool.load(this, R.raw.barcodebeep, 1)); //播放的声音文件
soundMap.put(2, soundPool.load(this, R.raw.serror, 1)); //播放的声音文件
am = (AudioManager) this.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, // 优先级,0为最低
0, // 循环次数,0无不循环,-1无永远循环
1 // 回放速度 ,该值在0.5-2.0之间,1为正常速度
);
} catch (Exception e) {
e.printStackTrace();
}
}