android 静音实现方法

类似语音app实现静音与取消静音

1. 模拟按键

模拟静音键

2.调用静音接口

取消静音时,音量条UI显示音量进度与进度值

private AudioManager mAudioManager = null;  
 mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);       
 mAudioManager.adjustSuggestedStreamVolume(AudioManager.ADJUST_TOGGLE_MUTE, AudioManager.STREAM_MUSIC, 1);

3. 音量变化 监听广播

frameworks/base/media/java/android/media/AudioManager.java

//VOLUME_CHANGED 音量变化
 "android.media.VOLUME_CHANGED_ACTION")
 //STREAM_MUTE_CHANGE 静音变化
 "android.media.STREAM_MUTE_CHANGED_ACTION")

4. 静音mute时,getStreamVolume获取音量值为0

可通过getLastAudibleStreamVolume(非对外开放接口)  通过反射获取value
int value=0;
try {
    AudioManager mAudioManager1 = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
    Class clazz = Class.forName("android.media.AudioManager");
    Method method = clazz.getDeclaredMethod("getLastAudibleStreamVolume",int.class);//方法名,参数类型
    method.setAccessible(true);
    value = (int) method.invoke(mAudioManager1, AudioManager.STREAM_MUSIC);//AudioManager.STREAM_MUSIC
} catch (Exception e) {
    e.printStackTrace();
}

android 实现音量变化监听和静音方法相关推荐

  1. Android手机屏幕变化监听

    监听手机屏幕的打开关闭   工具类,可直接使用 package com.utils; import android.content.BroadcastReceiver; import android. ...

  2. Android通过使用系统广播监听网络状态的改变

    Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...

  3. android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件

    Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...

  4. Android截屏事件监听

    1. 前言 Android系统没有直接对截屏事件监听的接口,也没有广播,只能自己动手来丰衣足食,一般有三种方法. 利用FileObserver监听某个目录中资源变化情况 利用ContentObserv ...

  5. input框的内容变化监听

    input的两个功能 1.不允许一开始输入空格(即在input框内容为空的时候,输入空格是没有作用的) 2.input框的内容变化监听 这属于比较完美的input的设计了 下面是html代码实现功能1 ...

  6. vue 监听map数组变化_vuex state中的数组变化监听实例

    前言 首先,因为我有一个需求就是vue组件中有一组多选框,选中多选框的内容,要在另一个组件中进行视图更新,这个就设计的兄弟组件之间的通信了,兄弟组件之前通信我首先选用的vuex这个解决办法. 问题 v ...

  7. spring 文件变化监听_Spring新变化

    spring 文件变化监听 让我们检查一下Spring社区在前几天发布的一些新版本: Spring Boot 1.0.0.RC1 Spring很高兴地宣布Spring Boot v1.0.0的第一个候 ...

  8. Android学习按键事件监听与Command模式

    Android学习按键事件监听与Command模式 - Dufresne - 博客园 Android学习按键事件监听与Command模式 一 Command模式 意图: 将一个请求封装为一个对象,从而 ...

  9. Vue2源码解析 Object变化监听

    目录 1 什么是变化监听 2 如何跟踪变化 3  何如收集依赖 4  依赖收集在哪 5  依赖是谁 6  什么是Watcher 7  递归侦测所有key 8  关于Object的问题 9  总结 1 ...

最新文章

  1. 胡小明:大数据应用方向思考
  2. ASP.NET Web API 实现客户端Basic(基本)认证 之简单实现
  3. 中国大唐集团公司的发展战略
  4. kafka集群编程指南
  5. 采用动态解析设置***
  6. python属于哪类型的编程语言_Python是什么类型的编程语言,有什么特性
  7. Citrix XenDesktop 虚拟桌面 每用户/设备 许可手动释放
  8. c++全局变量的声明和使用
  9. VS 中PageLayout 属性设置
  10. MATLAB 2018
  11. java 从sip服务器_如何通过域而不是IP地址注册到SIP服务器并从客户端创建SIP帐户?...
  12. python 英语翻译_python实现在线翻译功能
  13. 中国计量大学matlab,计量经济学及matlab.pdf
  14. 断章·贵鬼篇·白羊妇语
  15. python提交表单发邮件_通过Mailgun和Python发送带有表单数据的电子邮件
  16. 安卓投屏大师_还不会把手机投屏到电脑?教你四种方法,柯达带你直播玩的更溜...
  17. “大蟒蛇”的养殖教程---“字符串”
  18. YDOOK: ANSYS Maxwell 19 教程14:Maxwell 2D 静电场怎样设置激励源 静电场有哪些激励源
  19. [Ubuntu 18.04]公共DNS设置[/etc/resolv.conf]
  20. A-Z,a-z,0-9的unicode编码表

热门文章

  1. Flask 报错:WARNING: This is a development server. Do not use it in a production deployment.
  2. win10服务项哪些能禁用?
  3. CPU突然飙升,如何排查
  4. 基于javaweb+jsp的蛋糕商城系统(java+JDBC+Servlet+HTML+Ajax+mysql+Fileupload)
  5. 胡汉三又回来了:“门头沟”CEO在日本注册新公司
  6. 删除个人空间动态(哔哩哔哩)
  7. 2020最全JVM垃圾回收机制面试题整理,阿里面试官最爱问的都在这里了(附答案)
  8. maven 打包 releases 和 snapshots 版本
  9. ave could not be completed.Reason:Some characters cannot be mapped using 'ISO-8859-1'character enco
  10. 修改电脑电源键按一下关机的策略