android AudioManager类 详解
发布日期:2021-06-30 18:39:53 浏览次数:3 分类:技术文章

本文共 2867 字,大约阅读时间需要 9 分钟。

AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。

通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。

AudioManager audiomanage = (AudioManager)context.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

//音量控制,初始化定义

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);}

常用方法:

android audioManager获取音量:

//先获取AudioManager实例,AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);//通话音量int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL ); int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL ); //系统音量int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM ); current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM ); //铃声音量max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING); current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING ); //音乐音量max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC ); current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC ); //提示声音音量max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM ); current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );

文章转自:

转载地址:https://linqiarui.blog.csdn.net/article/details/51320435 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用意图跳转到桌面
下一篇:直接设置媒体音量大小

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月27日 21时33分26秒