android调节音量——AudioManager的应用
2015-12-30 08:31
579 查看
Android中可以通过程序获取系统手机的铃声和音量。同样,也可以设置铃声和音量。Android中给出了AudioManager类来实现音量获取、音量控制。
本篇基于 Android API 中的 AudioManager 作讲述,最后给出实例。
下面是本篇大纲:
1、认识 AudioManager
2、AudioManager 主要方法介绍
3、参数解释
1、认识 AudioManager
AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作。
2、AudioManager 主要方法介绍
邮于 AudioManager 该类方法过多,这里只讲述几个比较常用到的方法:
方法:adjustStreamVolume(int
streamType, int direction, int flags)
streamType为铃声类型,例如:AudioManager.STREAM_VOICE_CALL、AudioManager.STREAM_SYSTEM等,direction当传入的第一个参数为 AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入 AudioManager.ADJUST_RAISE
时,则可以将音量调大一个单位。flags为标志位。
方法:getMode()
解释:返回当前音频模式。例如:
方法:getRingerMode()
解释:返回当前的铃声模式。例如
or
方法:getStreamVolume(int
streamType)
解释:取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。
方法:setStreamVolume(int
streamType, int index, int flags)
解释:改变铃声音量,解释同1,index为声音大小。
方法:setMode(int
mode)
解释:改变音频模式。见get方法
方法:setRingerMode(int
ringerMode)
解释:改变铃声模式。见get方法
3、参数解释
streamType常用:
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_NOTIFICATION 窗口顶部状态栏Notification,
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
STREAM_DTMF 双音多频,拨号键的声音
direction,是调整的方向,增加或减少,可以是:
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
flags,是附加参数:
FLAG_PLAY_SOUND 调整音量时播放声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的界面
FLAG_REMOVE_SOUND_AND_VIBRATE 无振动无声音
FLAG_ALLOW_RINGER_MODES Whether
to include ringer modes as possible options when changing volume.
FLAG_VIBRATE Whether
to vibrate if going into the vibrate ringer mode
***********************************************************************
* 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn *
* 作者:张兴业 *
* 邮箱:xy-zhang@163.com *
***********************************************************************
参考:http://developer.android.com/reference/android/media/AudioManager.html
实例:http://code.google.com/p/app-soundmanager
http://mobile.51cto.com/android-309353.htm
/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/
本篇基于 Android API 中的 AudioManager 作讲述,最后给出实例。
下面是本篇大纲:
1、认识 AudioManager
2、AudioManager 主要方法介绍
3、参数解释
1、认识 AudioManager
AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作。
2、AudioManager 主要方法介绍
邮于 AudioManager 该类方法过多,这里只讲述几个比较常用到的方法:
方法:adjustStreamVolume(int
streamType, int direction, int flags)
streamType为铃声类型,例如:AudioManager.STREAM_VOICE_CALL、AudioManager.STREAM_SYSTEM等,direction当传入的第一个参数为 AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入 AudioManager.ADJUST_RAISE
时,则可以将音量调大一个单位。flags为标志位。
方法:getMode()
解释:返回当前音频模式。例如:
MODE_NORMAL,
MODE_RINGTONE,
MODE_IN_CALLor
MODE_IN_COMMUNICATION
方法:getRingerMode()
解释:返回当前的铃声模式。例如
RINGER_MODE_NORMAL,
RINGER_MODE_SILENT,
or
RINGER_MODE_VIBRATE.
方法:getStreamVolume(int
streamType)
解释:取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。
方法:setStreamVolume(int
streamType, int index, int flags)
解释:改变铃声音量,解释同1,index为声音大小。
方法:setMode(int
mode)
解释:改变音频模式。见get方法
方法:setRingerMode(int
ringerMode)
解释:改变铃声模式。见get方法
3、参数解释
streamType常用:
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_NOTIFICATION 窗口顶部状态栏Notification,
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
STREAM_DTMF 双音多频,拨号键的声音
direction,是调整的方向,增加或减少,可以是:
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
flags,是附加参数:
FLAG_PLAY_SOUND 调整音量时播放声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的界面
FLAG_REMOVE_SOUND_AND_VIBRATE 无振动无声音
FLAG_ALLOW_RINGER_MODES Whether
to include ringer modes as possible options when changing volume.
FLAG_VIBRATE Whether
to vibrate if going into the vibrate ringer mode
***********************************************************************
* 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn *
* 作者:张兴业 *
* 邮箱:xy-zhang@163.com *
***********************************************************************
参考:http://developer.android.com/reference/android/media/AudioManager.html
实例:http://code.google.com/p/app-soundmanager
http://mobile.51cto.com/android-309353.htm
/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/
相关文章推荐
- Android音量控制调节
- Android:电话拨号器、呼叫记录、结束通话、Android显示单位
- Canvas.drawText绘制文字为什么会偏上?
- Android:入门、开发环境搭建、第一个Android程序、源码下载
- android tips—NumberPicker,DataPicker,TimePicker样式改动
- Android ActionBar的基本用法
- Android新建子线程的一些问题(如何获知已经结束子线程,子线程基本常识等)
- Android dex分包方案
- 彻底解决Android 应用方法数不能超过65K的问题
- Android Studio——使用Bundle在Activity之间传值
- Android笔记(六十八) Fragment总结
- Android TextView实现跑马灯效果
- Android获取View的宽高与View.measure详解
- Android签名详解(debug和release)
- 利用AsyncTask模拟进度条
- android 人员招聘要求
- Android开发学习笔记(二)——编译和运行原理(1)
- Android 百度地图开发(二)
- Android DexClassLoader调用其他apk中的函数
- android属性动画(一)