android调节音量——AudioManager的应用

下面博客链接为实例代码链接,本章博客就不重复写了。我主要总结了一个方法,方便开发时候使用。

AudioManager提供访问音量和振铃模式控制。
使用Context.getSystemService(Context.AUDIO_SERVICE)得到这个类的一个实例。
链接博客1
链接博客2
链接博客3
谷歌安卓中文官网

声音类型(streamType):

声音类型 说明
STREAM_ALARM 闹钟音量
STREAM_DTMF 双音多频,拨号键的声音
STREAM_MUSIC 音乐音量,即媒体音量
STREAM_NOTIFICATION 通知音量
STREAM_RING 手机铃声
STREAM_SYSTEM 系统声音
STREAM_VOICE_CALL 通话声音

声音方向(direction)

相关方法
adjustVolume(int, int)
adjustStreamVolume(int, int, int)

声音方向 说明
ADJUST_LOWER 减少铃声音量
ADJUST_RAISE 增大铃声音量
ADJUST_MUTE 静音
ADJUST_SAME 当前音量,主要用于展示音量,并非修改
ADJUST_TOGGLE_MUTE 切换静音状态
ADJUST_UNMUTE 取消静音音量

flags:

flags类型 说明
FLAG_ALLOW_RINGER_MODES
FLAG_PLAY_SOUND 是否在改变音量时播放声音
FLAG_REMOVE_SOUND_AND_VIBRATE 无振动,无声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的界面
FLAG_VIBRATE 如果进入的是振动响铃模式是否振动。
方法 说明
adjustStreamVolume(int streamType,int direction,int flags) 根据方向调整特定音量 streamType: 铃声类型- direction: 方向来调整音量 flags:一个或多个标志

方法 说明
getStreamMaxVolume(int streamType) 说明:指定声音类型的最大音量
getStreamVolume(int streamType) 指定声音类型,获取当前音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。
setStreamVolume(int streamType,int direction,int flags) 改变音量index:声音大小 ,可以根据-
boolean isStreamMute (int streamType) 返回特定声音类型的当前静音状态

铃声模式(ringerMode):

铃声模式 说明
RINGER_MODE_NORMAL 正常(可能有声),震动(可能振动)
RINGER_MODE_SILENT 无声,不会振动
RINGER_MODE_VIBRATE 无声,振动
方法 说明
getRingerMode() 返回当前的铃声模式。
setRingerMode(int ringerMode) 设置铃声模式。

音频模式(mode):

音频模式 说明
MODE_CURRENT 当前音频模式
MODE_NORMAL 正常音频模式:不响,没有呼叫建立。
MODE_RINGTONE 振铃音模式。呼入被通知。
MODE_IN_CALL 在通话音频模式。一个电话呼叫建立。
MODE_IN_COMMUNICATION 在通信音频模式。音频/视频聊天或VoIP呼叫建立。
MODE_INVALID
int getMode () 返回当前的音频模式
setMode(int mode) 设置音频模式。
方法 说明
isVolumeFixed() 判断是否是固定声音,是则无法通过修改调节音量
isMusicActive() 检查音乐是否处于活动状态
isSpeakerphoneOn() 检查扬声器是否打开或关闭。
setMicrophoneMute(boolean on) 设置开启或关闭麦克风静音。
setSpeakerphoneOn(boolean on) 设置为打开或关闭扬声器。
registerAudioDeviceCallback(AudioDeviceCallback callback, Handler handler) 注册一个AudioDeviceCallback对象,以接收改变通知到设定连接的音频设备。
registerAudioPlaybackCallback(AudioManager.AudioPlaybackCallback cb, Handler handler) 注册一个回调,通过通知的音频播放变化
AudioManager.AudioPlaybackCallback
requestAudioFocus(AudioFocusRequest focusRequest) 请求音频焦点。

你可能感兴趣的:(android)