获取系统音量

通过程序获取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中获取与设置媒体,通话等音量的方法相关推荐

  1. python获取绝对路径_python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...

  2. java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...

    关于JS中获取浏览器高度和宽度值的多种方法(多浏览器) 2017-08-07 0 三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 d ...

  3. 微信小程序的swiper轮播图中的图片设置自适应高度的一种方法

    微信小程序的swiper轮播图中的图片设置自适应高度的一种方法 小程序中的轮播图很简单,但是唯一的缺陷就是 swiper 是固定的150px 高度(320px 宽度),这样如果传入的图片大于这个高度就 ...

  4. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...

  5. 【Android】12.3 在当前Activity中获取另一个Activity的返回值

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...

  6. [图解]在输入框和文本框中获取和设置光标位置,以及选中文本和获取选中文本值的方法 --- 详解,兼容所有浏览器。...

    为什么80%的码农都做不了架构师?>>>    写在前面 最近在segmentfault上看到它的日期输入控件,感觉挺有意思.好吧,动手写一个,加到自己的代码库里吧. 然后问题来了, ...

  7. 在Vue2.0项目中与H5项目中获取、设置、清除cookie的一些注意点

    在vue中获取cookie 原生js方法没有直接获取cookie中值的,所以我在vue的项目中我自己写了个获取cookie值的方法(还有删除与设置cookie的方法还没去写,大家一起来补充完善) &l ...

  8. DataGridView中获取与设置当前选中行以及SelectedRows和CurrentRow注意区分

    场景 DataGridView怎样实现添加.删除.上移.下移一行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10281414 ...

  9. Windows中获取和设置系统日期时间的C程序

    In this C program, we have to set, get the system's date and time. 在此C程序中,我们必须设置,获取系统的日期和时间. To get, ...

最新文章

  1. 2019计算机考研学硕,2019计算机考研选学硕、专硕、非全日制研究生哪个好?
  2. 数学建模之图像处理---颜色建模
  3. linux为系统分配内存,Linux操作系统知识讲解:走进Linux 内存分配算法
  4. 输入n个字符串字典序排序_FSST - 快速字符串压缩算法
  5. lingo变量无限制版本_LINGO笔记
  6. linux系统时间修改及同步
  7. 小程序 --- 点击放大功能、获取位置信息、文字样式省略、页面跳转(navigateTo)
  8. 渗透测试神器CS(4.0)的使用
  9. “约见”面试官系列之常见面试题第二十篇之vuex得理解(建议收藏)
  10. 拳王虚拟项目公社:闲鱼知乎引流售卖虚拟资源的虚拟副业项目实操
  11. azure云数据库_配置Azure SQL数据库防火墙
  12. 在java中使用关键字导入包_java的import关键字的使用
  13. html5 查询展示页面,基于Html5的可视化展示页面自动发布方法及系统与流程
  14. 计算机网络自顶向下-第 8 版
  15. Java递归法解决猴子吃桃问题_C语言实现猴子吃桃问题(循环、递归两种方法)...
  16. 计算机网络的三个基本拓扑结构类型,计算机网络拓扑结构的分类
  17. 实现私有CA和证书申请的脚本
  18. Linux使用scp在服务器之间远程传输复制文件和文件夹
  19. 频域串联滞后校正matlab,控制工程基础(基于Matlab的线性系统串联校正)
  20. 筛选状态下进行复制粘贴为数值

热门文章

  1. badblocks命令来检查硬盘是否有坏道
  2. 华为手机用什么蓝牙耳机好?五一出游最值得买的蓝牙耳机推荐
  3. 序列号和反序列号的理解
  4. java fel_Fel是轻量级的高效的表达式计算引擎
  5. 建议收藏!全面了解生活垃圾焚烧发电的相关知识
  6. jQuery的append、appendTo、prepend、prependTo
  7. MYSQL 命令行大全 工作备忘笔记
  8. 线上某个表带where的count(*)很慢
  9. C#对接电子签章平台
  10. charindex用法