开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,是调整的方向,增加或减少,可以是: 
ADJUST_LOWER 降低音量    ADJUST_RAISE 升高音量    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                                                                   *

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







     本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/1230783,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Android 应用开发】Activity生命周期 与 Activity 之间的通信
【Android 应用开发】Activity生命周期 与 Activity 之间的通信
28 0
Android Activity调整改变成Dialog
做一个style配置到style.xml,直接作为该Activity的android:theme配置即可。 具体的style: true @android:color/transparent true true true @android:color/transparent 0.5 在上层Java代码增加一个: setTitle(null);取消系统自己设置的标题。
970 0
Android开发之入口Activity
原文:Android开发之入口Activity Android开发之入口Activity Adnroid App是如何确定入口Activity的? 难道就因为class的类名叫MainActivity,布局文件叫activity_main.xml? 如果这样认为,就大错特错了。
941 0
Android开发之浮动Activity
场景 在使用App时,曾经看到这样一个场景,如下图所示,点击顶部菜单按钮,有一个类似的对话框的列表显示出来,让用户选择其中的一个快递选项,然后选中的快递信息就会填充到底部的Activity中。
674 0
我的Android进阶之旅------>如何将Activity变为半透明的对话框?
              我的Android进阶之旅------>如何将Activity变为半透明的对话框?可以从两个方面来考虑:对话框和半透明。 在定义Activity时指定Theme.Dialog主题就可以将Activity设置为对话框风格。
1295 0
我的Android进阶之旅------>自己写个Activity来调节Android系统背光亮度Brightness
            今天终于算初步写好了一个调节系统背光亮度Brightness的代码,本来不看Android源代码以为可以直接调用某个Action来启动系统的那个调节Brightness的对话框,但是看了代码后发现系统调节Brightness的自定义组件BrightnessPreference继承了SeekBarDialogPreference,但是最终父类还是Preference,因此不能够单独启动,必须得将这个自定义的BrightnessPreference用某个Activity才能加载过来,毕竟最终还是一个组件。
969 0
android浏览器开发小技巧集锦(转)
本人和朋友们做了一段时间浏览器,将一些小技巧分享出来,先写一部分,慢慢写,同时也为我们的浏览器打打广告 我们的浏览器将要上线,名叫沙发浏览 1.网页内的右键菜单 [java] view plaincopy   public boolean onLongClick(V...
906 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载