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

直接控制音量的多少:

1

2 3 4 5
if (isSilent){ mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0 , 0 ); } else { mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,tempVolume, 0 ); //tempVolume:音量绝对值 }

以一步步长控制音量的增减,并弹出系统默认音量控制条:

1 2 3 4 5 6 7 8 9 10 //降低音量,调出系统音量控制 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);

更多相关文章

  1. Activity启动模式设置(堆栈中的生存时间)
  2. Android中为按钮设置点击音效
  3. 设置Android铃声代码例子
  4. 阅读《Android(安卓)从入门到精通》(9)——多项选择
  5. Android引入签名文件
  6. android模拟器设置代理上网
  7. Android(安卓)首选网络模式默认值的修改方法
  8. Android(安卓)USB状态监控(解决scheme="file")
  9. android 4.0 编译模式 eng -- > user 时遇到的问题

随机推荐

  1. IOS/Android 移动端原生及自定义控件开发
  2. android:adb环境变量的配置
  3. Android利用root权限开关机、休眠和唤醒
  4. Android(安卓)颜色渲染(十) ComposeShade
  5. Android 开发者 | 应用兼容性注意事项
  6. 【转】关于Android体系架构和开发库的部
  7. android Kotlin 委托
  8. Android(安卓)使用junit测试
  9. android多微博客户端Cuckoo
  10. Android Tv 背景动态改变,带过渡效果