zoukankan      html  css  js  c++  java
  • Audio Policy 分析

    http://blog.csdn.net/hgl868/article/details/6888001

    上回我们说了AudioFlinger(AF),总感觉代码里边有好多东西没说清楚,心里发毛。就看了看AF的流程,我们敢说自己深入了解了Android系统吗?AudioPolicyService(APS)是个什么东西?为什么要有它的存在?下层的Audio HAL层又是怎么结合到Android中来的?更有甚者,问个实在问题:插入耳机后,声音又怎么从最开始的外放变成从耳机输出了?调节音量的时候到底是调节Music的还是调节来电音量呢?这些东西,我们在AF的流程中统统都没讲到。但是这些他们又是至关重要的。从我个人理解来看,策略(Policy)比流程更复杂和难懂。

    当然,遵循我们的传统分析习惯,得有一个切入点,否则我们都不知道从何入手了。

    这里的切入点将是:

    l         AF和APS系统第一次起来后,到底干了什么。

    l         检测到耳机插入事件后,AF和APS的处理。

    大家跟着我一步步来看,很快就发现,啊哈,APS也不是那么难嘛。

    另外,这次代码分析的格式将参考《Linux内核情景分析》的样子,函数调用的解析将采用深度优先的办法,即先解释所调用的函数,然后再出来继续讲。

    我曾经数度放弃分析APS,关键原因是我没找到切入点,只知道代码从头看到尾!

  • 相关阅读:
    Shell学习笔记 ——第一天
    Myclipse 安装 Maven遇见的N个异常
    Myeclipse 创建 Web Maven项目
    Guava API
    String 转Map(基于Guava类库)
    Mybatis——helloWorld级程序
    redis
    listener、context、filter、servlet及其加载顺序
    junit 单元测试
    hibernate —— 树状存储
  • 原文地址:https://www.cnblogs.com/pengxinglove/p/5471239.html
Copyright © 2011-2022 走看看