[小代码]播放声音特效

来源:互联网 发布:软件外包项目网 编辑:程序博客网 时间:2024/05/02 04:51

使用的是 android.media.SoundPool类

public static final int SOUND_EXPLOSION = 1;private SoundPool soundPool;private HashMap<Integer, Integer> soundPoolMap;private void initSounds() {     soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);     soundPoolMap = new HashMap<Integer, Integer>();     soundPoolMap.put(SOUND_EXPLOSION, soundPool.load(getContext(), R.raw.explosion, 1));//解码加载explosion,爆炸音}/* 播放 */         public void playSound(int sound) {    /* 下面4句计算当前音量,范围0.0~1.0*/    AudioManager mgr = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);    float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);    float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);        float volume = streamVolumeCurrent / streamVolumeMax;        /* 其当前音量播放声音 */    soundPool.play(soundPoolMap.get(sound), volume, volume, 1, 0, 1f);     }/* 播放爆炸音效 */public void explode() {    playSound(SOUND_EXPLOSION);} 


原创粉丝点击