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_CALL or 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常用:    

  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                                                                   *

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

android调节音量——AudioManager的应用的更多相关文章

  1. android调节声音大小

    android调节声音大小 1.背景音乐的一些知识 网上好多关于背景音乐添加用到的类: MediaPlayer,SoundPool,AudioManager的资料,可是有时候解决不了我们在开发中遇到的 ...

  2. android 滑动滚动条调节音量

    利用滚动条滑动控制音量: 定义: private SeekBar mseekBarvolume: 以下实现代码: //调节音量--begin------------------------- //音量 ...

  3. android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)

    写UI布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  4. Android原生音量控制【转】

    本文转载自:http://blog.csdn.net/u013082948/article/details/65630085 本文主要涉及AudioService.还是基于5.1.1版本的代码. Au ...

  5. 【VC++技术杂谈001】音频技术之调节音量及设置静音

    本文主要介绍如何使用混音器Mixer API函数实现系统音量调节,以及设置静音. 1.混音器的作用及结构 1.1混音器的作用 声卡(音频卡)是计算机进行声音处理的适配器,具有三个基本功能: (1)音乐 ...

  6. kali linux 使用笔记本快捷键调节音量

    环境:kali 2018.3a(xface桌面版),自带PulseAudio控制音量. 以前在windows时笔记本是Fn+F1这些来调节音量的,装了kali后原来调节亮度.触控板的键还能用,唯独音量 ...

  7. i3wm 调节音量

    i3wm,设置调节音量的快捷键 configure file: ~/.config/i3/config add # for sound control bindsym XF86AudioRaiseVo ...

  8. 〖Linux〗Ubuntu13.10,声音图标调节音量失效的解决办法

    升级Ubuntu13.10,发现声音图标不能调节音量[XUbuntu13.10发行日志]: 临时解决办法: gvim /usr/share/dbus-1/services/indicator-soun ...

  9. OBS插件学习入门:一个非常简单的、调节音量的filter

    一个非常简单的.调节音量的filter,非线性调节: #include <obs-module.h> #include <math.h> struct volume_data ...

随机推荐

  1. Error Code: 1175. You are using safe update mode and you tried to ......

    MySQL提示的错误信息: Error Code: 1175. You are using safe update mode and you tried to update a table witho ...

  2. OC MRC之set方法内存管理(代码分析)

    // // main.m // 03-set方法的内存管理 // // Created by apple on 13-8-9. // Copyright (c) 2013年 itcast. All r ...

  3. 浅析postgresql数据库事务及行锁特征

    开源数据库领域,postgresql以其优越的性能.功能及良好的稳定性排名首位可谓当之无愧,尤其是对高并发的支持可谓匠心独具.而优越的性能和稳定性,究其根本无非是良好的基础架构,本文将对其性能和稳定性 ...

  4. 获取和设置消息队列的属性msgctl,删除消息队列

    消息队列的属性保存在系统维护的数据结构msqid_ds中,用户可以通过函数msgctl获取或设置消息队列的属性. int msgctl(int msqid, int cmd, struct msqid ...

  5. en笔记音标

      清辅音和浊辅音区别 开音节和闭音节区别 1 2 3 4 5 6 7 a o e i u w y 开音节 /eɪ/ /əu/ /i:/ /aɪ/ Ju: /aɪ/ 闭音节 /æ/ /ɒ/ /ə/ / ...

  6. Unicode与UTF-8,UTF-16

    Unicode(UTF-8, UTF-16)令人混淆的概念 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了 ...

  7. dom4j解析xml报错:Nested exception: org.xml.sax.SAXParseException: White space is required between the processing instruction target and data.

    采用dom4j方式解析string类型的xml xml:        String string="<?xmlversion=\"1.0\" encoding=\ ...

  8. Python Face Recognition 实现人脸识别

    一.Face Recognition软件包 我们的人脸识别基于face_recognition库.face_recognition基于dlib实现,用深度学习训练数据,模型准确率高达99.38%. 人 ...

  9. Java虚拟机运行时数据区

    运行时数据区程序计数器Java虚拟机栈本地方法栈Java堆(GC堆)方法区运行时常量池 运行时数据区 Java虚拟机在运行Java程序时,会将它所管理的内存划分为若干个内存区域.这些数据区域有各自的用 ...

  10. C/C++除法实现方式及负数取模详解

    一.下面的题目你能全做对吗? 1.7/4=? 2.7/(-4)=? 3.7%4=? 4.7%(-4)=? 5.(-7)/4=? 6.(-7)%4=? 7.(-7)/(unsigned)4=? 答案: ...