Android平台关于音频播放有两种方式,一种是SoundPool,另一种是MediaPlayer.
SoundPool适合短促单对反应速度要求较高的情况(如游戏中的爆炸声)
MediaPlayer则适合较长但对声音要求不高的情况
关键代码:
mMediaPlayer = MediaPlayer.create(this, R.raw.backsound);//初始化MediaPlayer
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
soundPoolMap = new HashMap<Integer, Integer>();
soundPoolMap.put(1, soundPool.load(this, R.raw.dingdong, 1));
//用SoundPoll播放声音的方法
AudioManager mgr = (AudioManager)this.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, loop, 1f);//播放声音
soundPool.pause(1);//暂停SoundPool的声音
使用MediaPlayer播放声音按钮
mMediaPlayer.start();//播放声音
如需源代码 请联系作者 yyyandroid1989@163.com
或新浪微博http://weibo.com/android521
我将尽快回复您