1. AudioManager类
AudioManager
是音频管理器,提供了音量控制与铃声模式相关操作。
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
2. 主要方法
adjustVolume(int direction, int flags)
, 控制手机音量,调大或者调小一个单位
adjustStreamVolume(int streamType, int direction, int flags)
,根据声音类型控制音量
streamType
参数,指定声音类型
AudioManager.STREAM_VOICE_CALL
,电话语音AudioManager.STREAM_SYSTEM
,手机系统AudioManager.STREAM_RING
,电话铃声AudioManager.STREAM_MUSIC
,手机音乐AudioManager.STREAM_ALARM
,手机闹铃AudioManager.STREAM_NOTIFICATION
,系统提示AudioManager.STREAM_DTMF
,音调
direction
参数,指定调节方向
AudioManager.ADJUST_RAISE
,调大一个单位AudioManager.ADJUST_LOWER
,调小一个单位AudioManager.ADJUST_SAME
,保持先前的铃声音量AudioManager.ADJUST_MUTE
,静音AudioManager.ADJUST_UNMUTE
,取消静音AudioManager.ADJUST_TOGGLE_MUTE
,静音和取消静音之间切换
flags
参数,可多选
AudioManager.FLAG_SHOW_UI
,显示音量界面AudioManager.FLAG_ALLOW_RINGER_MODES
,当改变音量时,是否将振铃模式作为候选项AudioManager.FLAG_PLAY_SOUND
,当改变音量时,是否播放声音AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE
,移除队列中或正在播放的声音/振动AudioManager.FLAG_VIBRATE
,若进入振动铃声模式是否振动
setStreamVolume(int streamType, int index, int flags)
,直接设置音量大小
getStreamMaxVolume(int streamType)
,获得最大音量值
getStreamMinVolume(int streamType)
,获得最小音量值
getStreamVolume(int streamType)
,获得手机的当前音量,最大值为7,最小值为0,当设置为0的时候,会自动调整为震动模式
getMode()
,返回当前的音频模式
setMode(int mode)
,设置声音模式
MODE_NORMAL
,普通MODE_RINGTONE
,铃声MODE_IN_CALL
,打电话MODE_IN_COMMUNICATION
,通话
getRingerMode()
,返回当前的铃声模式
setRingerMode(int ringerMode)
,设置铃声模式
RINGER_MODE_SILENT
,静音RINGER_MODE_VIBRATE
,震动RINGER_MODE_NORMAL
,普通
isSpeakerphoneOn()
,扩音器是否打开
setSpeakerphoneOn(boolean on)
,设置是否打开扩音器
isMicrophoneMute()
,麦克风是否静音
setMicrophoneMute(boolean on)
,设置是否让麦克风静音