Android Audio(七)—— AudioFocus(duck)
Duck
1. 类图
2. 流程图
3. 代码分析
【1】PlayerFocusEnforcer声明
从上图中可知,MediaFocusControl和PlaybackActivityMonitor都实现了接口PlayerFocusEnforcer。
public interface PlayerFocusEnforcer {/*** Ducks the players associated with the "loser" focus owner (i.e. same UID). Returns true if* at least one active player was found and ducked, false otherwise.* @param winner* @param loser* @return*/public boolean duckPlayers(FocusRequester winner, FocusRequester loser, boolean forceDuck);public void unduckPlayers(FocusRequester winner);public void mutePlayersForCall(int[] usagesToMute);public void unmutePlayersForCall();
}
【2】AudioService构造函数
在AudioService中创建了PlaybackActivityMonitor对象mPlaybackMonitor,并将其作为参数,传给MediaFocusControl的构造函数
mPlaybackMonitor =new PlaybackActivityMonitor(context, MAX_STREAM_VOLUME[AudioSystem.STREAM_ALARM]);mMediaFocusControl = new MediaFocusControl(mContext, mPlaybackMonitor);
【3】MediaFocusControl构造函数
这里将PlaybackActivityMonitor的对象赋值给mFocusEnforcer 。
protected MediaFocusControl(Context cntxt, PlayerFocusEnforcer pfe) {mContext = cntxt;mAppOps = (AppOpsManager)mContext.getSystemService(Context.APP_OPS_SERVICE);mFocusEnforcer = pfe;}
Android Audio(七)—— AudioFocus(duck)相关推荐
- 【Android Audio 入门 七】声卡的创建
[Android Audio 入门 七]声卡的创建 七.声卡的创建 7.1 Struct snd_card 7.2 声卡的建立流程 Step 1:创建一个 snd_card 实例 Step 2:创建声 ...
- Android Audio音频通路(七)
android audio 生产者与消费者 简介 全面接触生产者/消费者问题是在操作系统原理中,并发性原理讨论的问题 生产者/消费者问题.最近的工作偏向音频,接着上一篇文章,用生产者,消费者模型来理解 ...
- Android Audio Focus的应用(requestAudioFocus)
网址:http://blog.csdn.net/dadoneo/article/details/8252933 FROM: http://www.linuxidc.com/Linux/2012-04/ ...
- Android Audio 2: Audio相关术语
https://source.android.com/devices/audio/terminology.html Audio相关的术语包含广泛运用的通用术语和Android专属的术语. 1.通用术语 ...
- Android底层开发之Audio HAL Android Audio Overview
http://blog.csdn.net/kangear/article/details/44939429 Android底层开发之Audio HAL 在Android音频底层调试-基于tinyals ...
- android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种
Android 相关七种 CPU 架构适配,android七种 转载请注明出处:http://blog.csdn.net/kester_/article/details/71055901 NDK 开发 ...
- Android Audio打开输出设备流程(十五)
android audio 生产者与消费者 简介 全面接触生产者/消费者问题是在操作系统原理中,并发性原理讨论的问题 生产者/消费者问题.最近的工作偏向音频,接着上一篇文章,用生产者,消费者模型来理解 ...
- Android Audio BSP工程师 需要清楚的基本知识点
原址 [前言] 这是我根据自己的工作经验所总结,有一定代表性,但可能不齐全.这只是个提纲. [知识点] 按照在操作系统中的层次划分,从上到下依次为: 1.Android系统分层模型.知道 APP.JN ...
- Android audio切换设备通道流程(二十八)
Android audio切换设备通道流程 1.frameworks/base/media/java/android/media/AudioManager.java public void setMo ...
- <一>Android Audio音频框架
目录 1.0 设备驱动 2.0 android hal层 3.0 选择设备的暗箱策略AudioPolicy 4.0 软件层面的混音,AudioFlinger 5.0 完整的对外接口 AudioS ...
最新文章
- postman发送post请求,用request.getParameter()获取请求参数
- jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
- DL之U-Net:U-Net算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- SAP UI5 应用开发教程之十五 - 对话框和 Fragments 的使用方式
- 第二十二章:动画(六)
- 深入浅出linux三剑客之awk必杀技一例
- 无法将文件“ “复制到“bin\*.*”。对路径“bin\*.*”的访问被拒绝。 解决方法
- B站韩顺平版Linux学习笔记(很全啊!)
- multisim怎么设置晶体管rbe_multisim晶体管
- 华为USG6000防火墙基础配置简介
- Geohash距离估算
- Flutter 性能优化
- wireshark抓取网络数据包
- 如何一次将蓝牙耳机连接到多个设备
- mc java送win10_微软针对Windows 10的免费Minecraft赠品在Java播放器的午夜结束
- 达科为在创业板递交注册申请:拟募资8亿元,吴庆军父女为实控人
- css 居中问题的总结
- 斯密特正交化与QR分解
- 记录关于标记工具LabelIMG生成txt文件时的相关问题
- 【原创】常用元器件(数码管)选型之引脚和极性识别-cayden20221029
热门文章
- beanstalkd队列简述
- FPGA 学习笔记:Vivado 生成的 Bitstream bit 文件 超大的解决方法
- c语言确定原点建立坐标系,在GDI+中如何实现以左下角为原点的笛卡尔坐标系
- Modelsim下时序(功能)仿真altera IP核 程序(重要)
- python手机话费_Python软件测试中“电话费”问题的解决方案,python,版本,账单,题解...
- 软考高级 真题 2013年下半年 信息系统项目管理师 案例分析
- Android或者Windows Phone在HTTP调用Google Map Api时返回英文结果的解决方法
- only the original thread that created a view hierarchy can touch its views解决方案
- Golang学习(二十四)家庭记账项目
- 时光悄悄流逝,光阴不再使你我天真