android通话音量和多媒体音量,Android中获取与设置媒体,通话等音量的方法
获取系统音量
通过程序获取android系统手机的铃声和音量。同样,设置铃声和音量的方法也很简单!
设置音量的方法也很简单,AudioManager提供了方法:
public void setStreamVolume(intstreamType,intindex,intflags)其中streamType有内置的常量,去文档里面就可以看到。
如进入一个页面希望设置媒体音量为最大:代码如下:
//获取最大媒体音量值
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//设置媒体音量为最大值,当然也可以设置媒体音量为其他给定的值
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, max,0);
JAVA代码:
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//通话音量
int max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_VOICE_CALL );
int current = mAudioManager.getStreamVolume( AudioManager.STREAM_VOICE_CALL );
Log.d(“VIOCE_CALL”, “max : ” + max + ” current : ” + current);
//系统音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_SYSTEM );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_SYSTEM );
Log.d(“SYSTEM”, “max : ” + max + ” current : ” + current);
//铃声音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_RING );
Log.d(“RING”, “max : ” + max + ” current : ” + current);
//音乐音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_MUSIC );
Log.d(“MUSIC”, “max : ” + max + ” current : ” + current);
//提示声音音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_ALARM );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_ALARM );
Log.d(“ALARM”, “max : ” + max + ” current : ” + current);
ps:
游戏过程中只允许调整多媒体音量,而不允许调整通话音量。
setVolumeControlStream(AudioManager.STREAM_MUSIC);
长时间不动,不允许黑屏,View.setKeepScreenOn(true);
估计manifest文件中需要注册权限吧
调节媒体音量
AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
//参数三AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI表示在调整媒体音量的时候会发出声音,并且弹出音量调整对话框
//如果不想要这些,可以设置为0
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND
| AudioManager.FLAG_SHOW_UI);
重写 Activity 的 onKeyDown 方法
@Override
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
switch
(keyCode) {
case
KeyEvent.KEYCODE_VOLUME_UP:
audio.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
return
true
;
case
KeyEvent.KEYCODE_VOLUME_DOWN:
audio.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
return
true
;
default
:
break
;
}
return
super
.onKeyDown(keyCode, event);
}
android通话音量和多媒体音量,Android中获取与设置媒体,通话等音量的方法相关推荐
- python获取绝对路径_python3中获取文件当前绝对路径的两种方法
方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...
- java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...
关于JS中获取浏览器高度和宽度值的多种方法(多浏览器) 2017-08-07 0 三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 d ...
- 微信小程序的swiper轮播图中的图片设置自适应高度的一种方法
微信小程序的swiper轮播图中的图片设置自适应高度的一种方法 小程序中的轮播图很简单,但是唯一的缺陷就是 swiper 是固定的150px 高度(320px 宽度),这样如果传入的图片大于这个高度就 ...
- 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )
文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- [图解]在输入框和文本框中获取和设置光标位置,以及选中文本和获取选中文本值的方法 --- 详解,兼容所有浏览器。...
为什么80%的码农都做不了架构师?>>> 写在前面 最近在segmentfault上看到它的日期输入控件,感觉挺有意思.好吧,动手写一个,加到自己的代码库里吧. 然后问题来了, ...
- 在Vue2.0项目中与H5项目中获取、设置、清除cookie的一些注意点
在vue中获取cookie 原生js方法没有直接获取cookie中值的,所以我在vue的项目中我自己写了个获取cookie值的方法(还有删除与设置cookie的方法还没去写,大家一起来补充完善) &l ...
- DataGridView中获取与设置当前选中行以及SelectedRows和CurrentRow注意区分
场景 DataGridView怎样实现添加.删除.上移.下移一行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10281414 ...
- Windows中获取和设置系统日期时间的C程序
In this C program, we have to set, get the system's date and time. 在此C程序中,我们必须设置,获取系统的日期和时间. To get, ...
最新文章
- 2019计算机考研学硕,2019计算机考研选学硕、专硕、非全日制研究生哪个好?
- 数学建模之图像处理---颜色建模
- linux为系统分配内存,Linux操作系统知识讲解:走进Linux 内存分配算法
- 输入n个字符串字典序排序_FSST - 快速字符串压缩算法
- lingo变量无限制版本_LINGO笔记
- linux系统时间修改及同步
- 小程序 --- 点击放大功能、获取位置信息、文字样式省略、页面跳转(navigateTo)
- 渗透测试神器CS(4.0)的使用
- “约见”面试官系列之常见面试题第二十篇之vuex得理解(建议收藏)
- 拳王虚拟项目公社:闲鱼知乎引流售卖虚拟资源的虚拟副业项目实操
- azure云数据库_配置Azure SQL数据库防火墙
- 在java中使用关键字导入包_java的import关键字的使用
- html5 查询展示页面,基于Html5的可视化展示页面自动发布方法及系统与流程
- 计算机网络自顶向下-第 8 版
- Java递归法解决猴子吃桃问题_C语言实现猴子吃桃问题(循环、递归两种方法)...
- 计算机网络的三个基本拓扑结构类型,计算机网络拓扑结构的分类
- 实现私有CA和证书申请的脚本
- Linux使用scp在服务器之间远程传输复制文件和文件夹
- 频域串联滞后校正matlab,控制工程基础(基于Matlab的线性系统串联校正)
- 筛选状态下进行复制粘贴为数值