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_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常用:
- STREAM_ALARM 警报
- STREAM_MUSIC 音乐回放即媒体音量
- STREAM_NOTIFICATION 窗口顶部状态栏Notification,
- STREAM_RING 铃声
- STREAM_SYSTEM 系统
- STREAM_VOICE_CALL 通话
- STREAM_DTMF 双音多频,拨号键的声音
direction,是调整的方向,增加或减少,可以是:
- ADJUST_LOWER 降低音量
- ADJUST_RAISE 升高音量
- ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
- FLAG_PLAY_SOUND 调整音量时播放声音
- FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的界面
- FLAG_REMOVE_SOUND_AND_VIBRATE 无振动无声音
- FLAG_ALLOW_RINGER_MODES Whether to include ringer modes as possible options when changing volume.
- FLAG_VIBRATE Whether to vibrate if going into the vibrate ringer mode
***********************************************************************
* 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn *
* 作者:张兴业 *
* 邮箱:xy-zhang@163.com *
***********************************************************************

android调节音量——AudioManager的应用的更多相关文章
- android调节声音大小
android调节声音大小 1.背景音乐的一些知识 网上好多关于背景音乐添加用到的类: MediaPlayer,SoundPool,AudioManager的资料,可是有时候解决不了我们在开发中遇到的 ...
- android 滑动滚动条调节音量
利用滚动条滑动控制音量: 定义: private SeekBar mseekBarvolume: 以下实现代码: //调节音量--begin------------------------- //音量 ...
- android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)
写UI布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...
- Android原生音量控制【转】
本文转载自:http://blog.csdn.net/u013082948/article/details/65630085 本文主要涉及AudioService.还是基于5.1.1版本的代码. Au ...
- 【VC++技术杂谈001】音频技术之调节音量及设置静音
本文主要介绍如何使用混音器Mixer API函数实现系统音量调节,以及设置静音. 1.混音器的作用及结构 1.1混音器的作用 声卡(音频卡)是计算机进行声音处理的适配器,具有三个基本功能: (1)音乐 ...
- kali linux 使用笔记本快捷键调节音量
环境:kali 2018.3a(xface桌面版),自带PulseAudio控制音量. 以前在windows时笔记本是Fn+F1这些来调节音量的,装了kali后原来调节亮度.触控板的键还能用,唯独音量 ...
- i3wm 调节音量
i3wm,设置调节音量的快捷键 configure file: ~/.config/i3/config add # for sound control bindsym XF86AudioRaiseVo ...
- 〖Linux〗Ubuntu13.10,声音图标调节音量失效的解决办法
升级Ubuntu13.10,发现声音图标不能调节音量[XUbuntu13.10发行日志]: 临时解决办法: gvim /usr/share/dbus-1/services/indicator-soun ...
- OBS插件学习入门:一个非常简单的、调节音量的filter
一个非常简单的.调节音量的filter,非线性调节: #include <obs-module.h> #include <math.h> struct volume_data ...
随机推荐
- elasticsearch 路由文档到分片
路由文档到分片 当你索引一个文档,它被存储在单独一个主分片上.Elasticsearch是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片1还是分片2上的呢? 进程不能是 ...
- BlockingQueue-----多线程(一)
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便 ...
- Transfer files Using sshpass
#! /bin/bash user=root password=12345678 remote_ip=192.168.3.140 remote_dir=/usr/bin/ local_file_dir ...
- 练习vue(用户管理)1
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [转载]oracle建表语句大全
原文URL:http://blog.csdn.net/haiross/article/details/11772847 Oracle创建表语句(Create table)语法详解及示例 创建表(C ...
- Fedora 安装与常用命令
fedora下载地址: https://getfedora.org/ 原来装的26,现在装27 用的是server版网络安装500多M 现在都是U盘安装了,fedora的写优盘说明 https://f ...
- 不同数据库的driverClassName与url
# Properties file with JDBC-related settings. ########## # HSQLDB # ########## #jdbc.driverClassName ...
- 配置ssh互信的一个小问题记录
在我们安装集群软件时,经常需要配置机器之间的互信,每个人也有一套自己熟悉的方法. 但是在今天配置互信过程中,发现操作过程还是一样,但是就是不能互信,通过查找资料解决了,做一下记录. 我经常使用的方式: ...
- git stash,git cherry-pick
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致.同时,将当前的工作区内容保存到Git栈中.git stash pop: 从Git栈中读取 ...
- antd中fomr中resetFields清空输入框
1.如果没有initValue的情况下,直接使用resetFields可以清空文本框的值 2.如果是有initValue的情况下,直接使用resetFields方法会直接重置为initValue的值 ...