三 【Audio】配置文档audio_policy_conf.xml

文章目录4 问题小结5 参考文章
1 文件路径
code:\qcom\\audio-hal\-hal\\XXXX(平台)
设备://etc/.xml
2 文件内容
【三【Audio】配置文档audio_policy_conf.xml】
route连接和
代表着应用场景
代表着硬件
3 加载流程及使用 3.1 解析
参见文章:.xml 解析
在创建的时候会加载配置文件,参见思维导图 。
最终.xml文件中的三大节点,, , route会分别存放到
,,。
//1. mixer_portElement mixPort = new IOProfile(String8(name.c_str()), portRole);//2. device_portElement deviceDesc = new DeviceDescriptor(type, encodedFormats, String8(name.c_str()));//3. route Element route = new AudioRoute(routeType);
3.2 使用

三  【Audio】配置文档audio_policy_conf.xml

文章插图
创建的时候会执行set函数,然后将java层设置的三个参数(,,)设置下去,最终交给::处理,重点查看该函数 。
3.2.1 获取
java层除了三大参数外,还传下来了,常用的有mic和
这个决定了选择什么样的,也就是xml文件中定义的信息 。
这里的type为""很关键 。
可以分为输入和输出设备,加载xml文件的时候都存储为 。
然后再实际使用的时候会区分为和tor 。
其实中的会存放,两者的最关键的联系是把type交给了 。
可以查看::open函数 。

//根据传入的source选择audio_deviceaudio_devices_t deviceType = getDeviceForInputSource(attr.source);
3.2.2 获取
:: --> :: --> ::
三  【Audio】配置文档audio_policy_conf.xml

文章插图
在中可以看到传入的参数在这里选择了合适的(即xml中,下的) 。
获取完合适的之后,会创建,将获取的作为入参传入,并打开 。
::open最终会打开,执行到am 。
3.2.3 小结 根据传入的,获取::根据传入的三大参数(,,),选择合适的创建,此时将作为入参传入将的三大参数存为打开,最终调用到am 。
4 问题小结
1、 怎么选择 —— ok
::
根据传入的三大参数(,,),四种优先顺序,选择合适的
2、 和差异 —— ok
::open
其实中的会存放,两者的最关键的联系是把type交给了 。
3、route如何关联两个port
::ces
5 参考文章
开发之音频配置文件.xml解析全过程
开发之音频配置文件.conf解析全过程