正在开发的项目中播放声音使用的是SoundPool,当手机在静音或振动模式下则播放不出声音。
SoundPool中调用play方法时传入的参数volume获得方法如下:
AudioManager mgr = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_SYSTEM);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);
float volume = streamVolumeCurrent/streamVolumeMax;
return volume;
AudioManager.STREAM_SYSTEM 换成AudioManager.STREAM_MUSIC?