Android开发之AudioManager(音频管理器)详解
AudioManager 简介:
AudioManager类提供了访问音量和振铃器mode控制。使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例。
公有方法:
Public Methods | |||||||||||
int | abandonAudioFocus ( AudioManager.OnAudioFocusChangeListener l) 放弃音频的焦点。 | ||||||||||
void | adjustStreamVolume (int streamType, int direction, int flags) 调整手机指定类型的声音。 | ||||||||||
void | adjustSuggestedStreamVolume (int,int suggestedStreamType intflags) 调整最相关的流的音量,或者给定的回退流。 | ||||||||||
void | adjustVolume (int,intflags) 调整最相关的数据流的音量。 | ||||||||||
int | getMode () 返回当前音频模式。 | ||||||||||
getParameters ( String keys) 给音频硬件设置一个 varaible 数量的参数值 | |||||||||||
int | 返回当前的铃声模式。 | ||||||||||
int | getRouting (int mode) 这个方法是不赞成的。 不直接查询音频路由 , 使用 isSpeakerphoneOn(), isBluetoothA2dpOn isBluetoothScoOn(),() 和 isWiredHeadsetOn() 方法。 | ||||||||||
int | getStreamMaxVolume (int streamType) 返回特定流的最大音量指数。 | ||||||||||
int | getStreamVolume (int streamType) 返回特定数据流的当前音量索引。 | ||||||||||
int | getVibrateSetting (int vibrateType) 返回是否该用户的振动设置为振动类型。 | ||||||||||
boolean | 检查是否 A2DP 蓝牙耳机音频路由是打开或关闭。 | ||||||||||
boolean | isBluetoothScoAvailableOffCall () 显示当前平台是否支持使用 SCO 的关闭调用用例。 | ||||||||||
boolean | 检查通信是否使用蓝牙 SCO 。 | ||||||||||
boolean | 检查是否打开或关闭麦克风静音。 | ||||||||||
boolean | 检查是否有音乐处于活跃状态。 | ||||||||||
boolean | 检查是否打开或关闭扬声器。 | ||||||||||
boolean | 检查是否插入耳机 | ||||||||||
void | 加载声音效果。 | ||||||||||
void | playSoundEffect ( (int effectType, float volume ) 播放声音效果(按键点击,盖开启 / 关闭 ... ) | ||||||||||
void | playSoundEffect (int effectType) 播放声音效果(按键点击,盖开启 / 关闭 ... ) | ||||||||||
void | registerMediaButtonEventReceiver ( ComponentName eventReceiver) 注册一个组件 MEDIA_BUTTON 意图的唯一接收机。 | ||||||||||
int | requestAudioFocus ( AudioManager.OnAudioFocusChangeListener l,int streamType,int durationHint) 请求音频的焦点。 | ||||||||||
void | setBluetoothA2dpOn (boolean on ) 这个方法是不赞成的。 不要使用。 | ||||||||||
void | setBluetoothScoOn (boolean on ) 要求使用蓝牙 SCO 耳机进行通讯。 | ||||||||||
void | setMicrophoneMute (boolean on ) 设置是否让麦克风静音。 | ||||||||||
void | setMode (int mode) 设置声音模式。 | ||||||||||
void | setParameters ( String keyValuePairs) 设置一个音频硬件数量可变的参数值。 | ||||||||||
void | setRingerMode (int ringerMode) 设置手机电话铃声的模式。 | ||||||||||
void | setRouting (int mode, int routes, int mask) 这个方法是不赞成的。 不设置音频路由直接使用 setSpeakerphoneOn(), setBluetoothScoOn() 方法。 | ||||||||||
void | setSpeakerphoneOn (boolean on) 设置扬声器打开或关闭。 | ||||||||||
void | setStreamMute (int streamType,boolean state ) 将手机的指定类型的声音调整为静音。 | ||||||||||
void | setStreamSolo (int streamType,boolean state ) 独奏或来取消特定流。 | ||||||||||
void | setStreamVolume (int streamType, int index, int flags) 直接设置手机的指定类型的音量值。 | ||||||||||
void | setVibrateSetting (int vibrateType, int vibrateSetting) 设置设置时应该振动的振动类型。 | ||||||||||
void | setWiredHeadsetOn (boolean on) 这个方法是不赞成的。 不要使用。 | ||||||||||
boolean | shouldVibrate (int vibrateType) 返回特定类型是否应该根据用户震动 设置和当前的振铃器 mode 。 | ||||||||||
void | 启动蓝牙 SCO 音频连接。 | ||||||||||
void | 停止蓝牙 SCO 音频连接。 | ||||||||||
void | 卸载音效。 | ||||||||||
void | unregisterMediaButtonEventReceiver ( ComponentName eventReceiver) 注销 MEDIA_BUTTON 意图的接收机。 |
常用方法说明:
void adjustStreamVolume (int streamType,int direction, int flags)
调整手机指定类型的声音。其中第一个参数streamType指定声音类型,该参数可接受如下几个值。
l int STREAM_ALARM :手机闹铃的声音。
l int STREAM_DTMF : DTMF 音调的声音。
l int STREAM_MUSIC :手机音乐的声音。
l int STREAM_NOTIFICATION :系统提示的声音。
l int STREAM_RING The :电话铃声的声音。
l int STREAM_SYSTEM :手机系统的声音。
l int STREAM_VOICE_CALL :语音电话的声音。
第二个参数指定对声音进行增大、还是减小;第三个参数是调整声音时的标志,例如指定FLAG_SHOW_UI,则指定调整声音时显示音量进度条。
void setMicrophoneMute (boolean on )
设置是否让麦克风静音。设置为true将麦克风静音;false关闭静音
void setMode (intmode)
设置声音模式。可设置的值有 NORMAL,RINGTONE, 和IN_CALL。
void setRingerMode (intringerMode)
设置手机电话铃声的模式。可支持如下几个属性值。
l int RINGER_MODE_NORMAL :正常的手机铃声。
l int RINGER_MODE_SILENT :手机铃声静音。
l int RINGER_MODE_VIBRATE :手机震动。
void setSpeakerphoneOn (booleanon)
设置扬声器打开或关闭。设置为true开启免提通话;false关闭免提。
void setStreamMute (intstreamType,boolean state )
将手机的指定类型的声音调整为静音。其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同。
void setStreamVolume (int streamType, int index, int flags)
直接设置手机的指定类型的音量值。其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同。