以下分别是AudioManager设置声音模式和调整声音大小的方法。
如何获取声音管理器:
AudioManager audioManager = (AudioManager) this.getSystemService(AUDIO_SERVICE);
里面主要的方法:
A、设置声音模式
//声音模式
AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
//静音模式
AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
//震动模式
AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
B、调整声音大小
//减少声音音量
AudioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
//调大声音音量
AudioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
getMode()获取音频模式
getRingerMode()获取铃声震动模式
----------------------------------------------------------------
这里如果使用了和手机震动有关的模式,记得添加权限。android.permission.VIBRATE
//音量控制,初始化定义 AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); //最大音量 int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //当前音量 int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
直接控制音量的多少
if(isSilent){ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); }else{ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tempVolume, 0); //tempVolume:音量绝对值 }
//降低音量,调出系统音量控制
if
(flag ==
0
){
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
//增加音量,调出系统音量控制
else
if
(flag ==
1
){
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}