手机音量键控制SoundPool大小

// 第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 10); 
// 把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级
musicId = soundPool.load(mContext, R.raw.start, 1);  
// 获取音频服务然后强转成一个音频管理器,后面方便用来控制音量大小用
AudioManager am = (AudioManager)mContext.getSystemService(mContext.AUDIO_SERVICE); 
// 设定调整音量为媒体音量,当暂停播放的时候调整音量就不会再默认调整铃声音量了,
((Activity) mContext).setVolumeControlStream(AudioManager.STREAM_MUSIC); 
// 获取最大音量值
float audioMaxVolumn = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
// 不断获取当前的音量值
float audioCurrentVolumn = am.getStreamVolume(AudioManager.STREAM_MUSIC); 
//最终影响音量

volumnRatio = audioCurrentVolumn/audioMaxVolumn; 


soundPool.play(musicId, volumnRatio, volumnRatio, 0, 0, 1);

你可能感兴趣的:(手机音量键控制SoundPool大小)