android调节声音大小


1.背景音乐的一些知识

网上好多关于背景音乐添加用到的类: 
MediaPlayer,SoundPool,AudioManager的资料,可是有时候解决不了我们在开发中遇到的问题 
我主要讲述一下调节音量这方面的经验吧

1:Android调节音量有很多可以调节系统的音量,媒体的音量,闹钟的音量,这时就需要用到AudioManager类

首先是得到AudioManager实例:
  • 1
  • 2
    AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
  • 1

2.调整音量方法有两种,一种是渐进式,即像手动按音量键一样,一步一步增加或减少,另一种是直接设置音量值.

1.首先是步进的方法:

**public void adjustStreamVolume (int streamType, int direction, int flags); **
  • 1
  • 2
    am.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
  • 1
  • 解释一下三个参数

    第一个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 调整时显示音量条,就是按音量键出现的那个

2.直接设置音量值得方法:

public void setStreamVolume (int streamType, int index, int flags) {
am.setStreamVolume(AudioManager.STREAM_MUSIC,
/*修改第二个参数为一个固定的值,就是设置成功。
下面的方法:获取音乐类型的音频流的最大值*/
am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);
}

android调节声音大小的更多相关文章

  1. 第十八篇 ANDROID的声音管理系统及服务

     声音管理系统用来实现声音的输入和输出.声音的控制和路由等功能,包括主和各种音源的音量调节.声音焦点控制,声音外设的检测和状态管理,声音源输入和输出的策略管理.音效的播放.音轨设置和播放.录音设置 ...

  2. Android默认系统声音/大小修改及配置【转】

    本文转载自:http://blog.csdn.net/a8316124/article/details/60574859 在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知 ...

  3. Android之声音管理器《AudioManager》的使用以及音量控制

    以下为网上下载然后拼接-- Android声音管理AudioManager使用 手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通 ...

  4. Android 8 声音调整过程

    记录Android 8声音调整过程. frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.j ...

  5. android调节音量——AudioManager的应用

    Android中可以通过程序获取系统手机的铃声和音量.同样,也可以设置铃声和音量.android中给出了AudioManager类来实现音量获取.音量控制. 本篇基于 Android API 中的 A ...

  6. moviepy音视频开发:使用volumex调节音量大小及其花式用法

    ☞ ░ 前往老猿Python博文目录 ░ 一.概述 音频数据的音量体现为声音的振幅,振幅越大则声音越大,具体到音频帧数据上,体现为声音的绝对值越大则振幅越大音量越大,调节音量大小的本质是调整帧数据的绝 ...

  7. 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析

    原文:关于Android中图片大小.内存占用与drawable文件夹关系的研究与分析 相关: Android drawable微技巧,你所不知道的drawable的那些细节 经常会有朋友问我这个问题: ...

  8. linux 声音大小调整的命令

    alsamixer 输入上面的命令 回车即可看到图形界面,界面如下 ┌──────────────────────────── AlsaMixer v1.0.27.1 ──────────────── ...

  9. Android 获取屏幕大小和密度

    Android 获取屏幕大小和密度 DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay ...

随机推荐

  1. d3 数学方法(伪随机数生成器 )

    一.正态(高斯)分布(normal (Gaussian) distribution)的随机数 /* var nomarlRandmo = d3.random.normal(); console.log ...

  2. day3——关于<s:if/>和文件上传

    一个小的注意点 <s:if test='#backyear==#yearatd'>selected="selected"</s:if> <s:if t ...

  3. jQuery3 slim版本和普通版本区别,如何选择?

    区别概述: slim即简化版,比普通版本缺少Ajax和特效模块模块. 官方发布地址:http://blog.jquery.com/2017/03/20/jquery-3-2-1-now-availab ...

  4. gitlab、openvpn配置ldap认证

    gitlab配置ldap认证: vim /etc/gitlab/gitlab.rb 添加以下内容: gitlab_rails['ldap_enabled'] = true gitlab_rails[' ...

  5. Atcoder Grand 012 C - Tautonym Puzzle

    题意: 构造一个字符串,使得这个字符串有只有n个形如AA这样的子序列. 神TM构造题不会做,, 我们构造一个长度为2*m的字符串,前m个是一个1-m的排列,后m个就是按顺序1-m. 这样这个串里符合要 ...

  6. CF1027E Inverse Coloring

    题意:n × n的矩阵,每个位置可以被染成黑/白色. 一种gay的染色是任意相邻两行的元素,每两个要么都相同,要么都不同.列同理. 一种gaygay的染色是一种gay的染色,其中没有哪个颜色的子矩阵大 ...

  7. 【HDU1710】树的遍历

    题目大意:给定一棵 N 个节点的二叉树的前序遍历和中序遍历,求其后序遍历. 题解:递归操作,每次只需知道先序遍历和中序遍历的开始点,左子树大小即可,根据前序遍历的开始位置可知子树根节点的坐标,再在中序 ...

  8. eclipse java build path问题汇总

    背景:在项目开发过程中,很多应用都进行了模块划分,有的时候是jar包依赖,有的时候通过build path进行配置,搞清楚这部分有助于理解项目之间的关系. 1 tms项目开发 1.1 问题描述 项目结 ...

  9. mongodb 设置用户密码权限

    1 设置管理员账户 use admindb.createUser({ user: "useradmin", pwd: "adminpassword", role ...

  10. MySQL的备份和恢复-mysqldump

    MySQL的备份和恢复-mysqldump 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么需要备份 1>.做灾难恢复 天有不测风云嘛,如果你的服务器被黑客攻击了(比 ...