美文网首页
AudioManger的使用笔记

AudioManger的使用笔记

作者: BugMonkey | 来源:发表于2017-03-16 11:23 被阅读0次

获取AudioManager实例:

AudioManager audiomanage = (AudioManager)getAcitivity().getSystemService(Context.AUDIO_SERVICE);  //audiomanager就是我们定义的控制系统声音的对象

常用方法:

adjustVolume(int direction, int flags)

用来控制手机音量大小,

当传入的第一个参数为AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,

传入AudioManager.ADJUST_RAISE时,则可以将音量调大一个单位。

adjustStreamVolume(int streamType, int direction, intflags)

(以步长)调节手机音量大小

参数1:声音类型,可取为STREAM_VOICE_CALL(通话)、STREAM_SYSTEM(系统声音)、STREAM_RING(铃声)、STREAM_MUSIC(音乐)、STREAM_ALARM(闹铃声)

参数2:调整音量的方向,可取ADJUST_LOWER(降低)、ADJUST_RAISE(升高)、ADJUST_SAME

参数3:可选的标志位

setStreamVolume(int streamType, int index, intflags)

直接设置音量大小

getMode()

返回当前音频模式,如 NORMAL(普通), RINGTONE(铃声), orIN_CALL(通话)

setMode()

设置声音模式,可取值NORMAL(普通), RINGTONE(铃声), or IN_CALL(通话)

getRingerMode()

返回当前的铃声模式。如RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(静音)、RINGER_MODE_VIBRATE(震动)

setRingerMode(int ringerMode)

改变铃声模式

getStreamVolume(int streamType)

取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。

getStreamMaxVolume(int streamType)

获得当前手机最大铃声。

setStreamMute(int streamType, boolean state)

静音或不静音音频流

设置指定声音类型(streamType)是否为静音。如果state为true,则设置为静音;否则,不设置为静音。

isWiredHeadsetOn( )

检测耳机是否插入。如果插入了耳机,就返回true,否则false; 当然,要加个权限,不然一直是返回false。 uses-permission android:name= android.permission.MODIFY_AUDIO_SETTINGS / 实时检测耳机插入和拔出: 每当插入和拔出耳机时,系统都会发送Intent 广播,这个由看手机打出的Log 得知。 所以,只需要用一个 receiver 把这个广播 intent (获取的 action 是:“android.intent.action.HEADSET_PLUG”)截获就好。

getLastAudibleStreamVolume( )

获取静音前的最后音量。

相关文章

网友评论

      本文标题:AudioManger的使用笔记

      本文链接:https://www.haomeiwen.com/subject/womcwttx.html