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()
    解释:返回当前音频模式。例如:MODE_NORMAL,MODE_RINGTONE,MODE_IN_CALLorMODE_IN_COMMUNICATION
  • 方法:getRingerMode()
    解释:返回当前的铃声模式。例如RINGER_MODE_NORMAL,RINGER_MODE_SILENT, orRINGER_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常用:

  1. STREAM_ALARM警报
  2. STREAM_MUSIC音乐回放即媒体音量
  3. STREAM_NOTIFICATION窗口顶部状态栏Notification,
  4. STREAM_RING铃声
  5. STREAM_SYSTEM系统
  6. STREAM_VOICE_CALL通话
  7. STREAM_DTMF双音多频,拨号键的声音
    direction,是调整的方向,增加或减少,可以是:
  1. ADJUST_LOWER降低音量
  2. ADJUST_RAISE升高音量
  3. ADJUST_SAME保持不变,这个主要用于向用户展示当前的音量
    flags,是附加参数:
  1. FLAG_PLAY_SOUND调整音量时播放声音
  2. FLAG_SHOW_UI调整时显示音量条,就是按音量键出现的界面
  3. FLAG_REMOVE_SOUND_AND_VIBRATE无振动无声音
  4. FLAG_ALLOW_RINGER_MODESWhether to include ringer modes as possible options when changing volume.
  5. FLAG_VIBRATEWhether 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
*
*/

更多相关文章

  1. Android App开发基础篇—四大组件之Activity生命周期和启动模式
  2. blcr加速android启动速度遇到的问题及解决方法
  3. Android 公共库的建立方法
  4. 浅谈Android中的 Fragment、生命周期回调方法 以及使用
  5. android的intent使用方法 .
  6. Android的IPC机制和多进程开发模式
  7. android调节音量——AudioManager的应用
  8. Android文件系统的提取方法(一)

随机推荐

  1. 如何淡入和淡出并改进我当前的JavaScript
  2. 切换页面时出现白屏闪烁
  3. 在导航图标css下包装文本。
  4. Day.js :一个轻量的处理时间和日期的 Java
  5. 用Node.js编写格式化的JSON
  6. JavaScript学习小结(2)
  7. 固定大小的div不应该将数字分成两半
  8. 【第三篇】说说javascript处理时间戳
  9. 原创记忆小游戏-HTML网页版
  10. js中数组的使用方法