当前位置: 首页 > news >正文

楚州网站开发wordpress网址静态化

楚州网站开发,wordpress网址静态化,常用网站架构,可以安装wordpress说实话#xff0c;android的代码是越来越难以阅读。业务函数里面狗皮膏药似的补丁与日俱增。继上篇简要介绍音频焦点的文章#xff0c;这篇文章的主要内容是分析audiofocus的实现。看了一下午的相关代码都没找到做audiofocus策略的核心逻辑。目前能看懂的大概包含下面两个逻辑…说实话android的代码是越来越难以阅读。业务函数里面狗皮膏药似的补丁与日俱增。继上篇简要介绍音频焦点的文章这篇文章的主要内容是分析audiofocus的实现。看了一下午的相关代码都没找到做audiofocus策略的核心逻辑。目前能看懂的大概包含下面两个逻辑。欢迎评论区沟通。 audiofocus实现的核心代码是在project_dir/frameworks/base/services/core/java/com/android/server/audio/MediaFocusControl.java project_dir/frameworks/base/services/core/java/com/android/server/audio/FocusRequester.java project_dir在这里指代android源码的根目录。 1.MediaFocusControl会维护所有audiofocus申请信息的堆栈mFocusStack。 2.android当系统进入铃声或者通话状态会静音住媒体播放器代码片段如下mRingOrCallActive变量会在应用申请焦点时进行判断刷新。 if (mRingOrCallActive) {mFocusEnforcer.mutePlayersForCall(USAGES_TO_MUTE_IN_RING_OR_CALL);} else {mFocusEnforcer.unmutePlayersForCall();} 3.audiofocus的监听器都是在AudioManager的队列里维护。代码如下 public void registerAudioFocusRequest(NonNull AudioFocusRequest afr) {final Handler h afr.getOnAudioFocusChangeListenerHandler();final FocusRequestInfo fri new FocusRequestInfo(afr, (h null) ? null :new ServiceEventHandlerDelegate(h).getHandler());final String key getIdForAudioFocusListener(afr.getOnAudioFocusChangeListener());mAudioFocusIdListenerMap.put(key, fri);}4.audiomanager进行焦点变化通知的核心类IAudioFocusDispatcher会调用listener。IAudioFocusDispatcher 自身会被注册给audioservice。 status service.requestAudioFocus(afr.getAudioAttributes(),afr.getFocusGain(), mICallBack,mAudioFocusDispatcher,clientId,getContext().getOpPackageName() /* package name */, afr.getFlags(),ap ! null ? ap.cb() : null,sdk);阅读代码期间出现重大错误阅读函数handleFocusLossFromGain的时候认为gain是增益的含义没仔细阅读实现。导致增加阅读理解代码的时间周期。gain在这里应该是对应焦点的第一种类型永久性焦点。犯了惯性思维的错误。遇到这种与认知相悖的地方应该更加小心。gain在这块代码里面的含义是获得与之对应的是loss。 androidaudio进行audiofocus控制决策的核心代码是下面这一段 if (mMultiAudioFocusEnabled (focusChangeHint AudioManager.AUDIOFOCUS_GAIN)) {if (enteringRingOrCall) {if (!mMultiAudioFocusList.isEmpty()) {for (FocusRequester multifr : mMultiAudioFocusList) {multifr.handleFocusLossFromGain(focusChangeHint, nfr, forceDuck);}}} else {boolean needAdd true;if (!mMultiAudioFocusList.isEmpty()) {for (FocusRequester multifr : mMultiAudioFocusList) {if (multifr.getClientUid() Binder.getCallingUid()) {needAdd false;break;}}}if (needAdd) {mMultiAudioFocusList.add(nfr);}nfr.handleFocusGainFromRequest(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);notifyExtPolicyFocusGrant_syncAf(nfr.toAudioFocusInfo(),AudioManager.AUDIOFOCUS_REQUEST_GRANTED);return AudioManager.AUDIOFOCUS_REQUEST_GRANTED;}}思考android Audio focus的设计时我想到一个问题如果某APP先申请media类型的focus然后再去申请call类型的focus会怎么样
http://www.dnsts.com.cn/news/132414.html

相关文章:

  • 网站开发心得网站开发什么语言好
  • 如何选择邯郸网站建设wordpress七牛视频
  • 建网站的策划方案php网站整合discuz
  • 微信网站开发公司电话wordpress关闭前台编辑功能
  • 做美食网站有哪些成都优化网站源头厂家
  • visio网站开发流程图南山网站建设找哪家公司好
  • 杭州教育培训网站建设google搜索引擎官网
  • 浏阳网站开发wordpress5.1.1
  • 网页设计师常逛网站网站模板文件下载
  • 免费拍卖网站模板塘沽网红书店
  • 网络公司网站创建wordpress设置页面访问权限
  • 西安自助建站公司做个网站要花多少钱
  • 网站如何设计才大气wordpress 邮件服务器
  • 刀具东莞网站建设视频网站 建设
  • 搭建免费个人网站2022网页页面布局
  • 网站克隆 有后台登录网站建设及优化的策划书
  • wordpress建站需要多大内存263网易企业邮箱入口
  • 网站建设的宽带指标要求网站开发都是用什么框架
  • 网站进入百度沙盒百度开放平台登录
  • 郏县网站制作公司建网站需要多少资金
  • 网站建设教程这篇苏州久远网络建站平台 做网站
  • 个人网站可以做产品宣传吗德阳有哪些做网站的公司
  • qq选号网站怎么做的深圳网站开发怎么样
  • 深圳电器网站建设云采网采购平台
  • 开县网站建设网站建设方法叁金手指下拉丶
  • 八字排盘网站建设seo整站优化+WordPress
  • 网站开发财务预算网站开发工期安排表
  • 环保网站建设维护情况报告wordpress网易音乐播放器
  • 网站开发及app开发报价做药的常用网站
  • 如何快速推广网站怎么制作微信表情包