zoukankan      html  css  js  c++  java
  • android调节音量——AudioManager的应用

      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_NORMALMODE_RINGTONEMODE_IN_CALL or MODE_IN_COMMUNICATION
    • 方法:getRingerMode()
      解释:返回当前的铃声模式。例如 RINGER_MODE_NORMALRINGER_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常用:    

    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_MODES Whether to include ringer modes as possible options when changing volume. 
    5. FLAG_VIBRATE Whether to vibrate if going into the vibrate ringer mode

      ***********************************************************************

      * 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn    *

      * 作者:张兴业                                                                                           *

      * 邮箱:xy-zhang@163.com                                                                   *

      ***********************************************************************

  • 相关阅读:
    WCF简单使用(分别部署在控制台和IIS上)
    WCF系列教程之WCF服务配置工具
    053547
    053546
    053545
    053544
    053543
    053542
    053541
    053540
  • 原文地址:https://www.cnblogs.com/bingyeh/p/7138204.html
Copyright © 2011-2022 走看看