当前位置:网站首页>audio_policy_configuration.xml配置文件详解
audio_policy_configuration.xml配置文件详解
2022-08-04 10:41:00 【步基】
audio_policy_configuration.xml中 的<modules>对应每一个audio hal 的so,module中列出的mixPorts,devicePorts和routes解析之后完整的描述了音频的路由规则。
module name: 支持“primary”(用于车载使用场景)、“A2DP”、“remote_submix”和“USB”。模块名称和相应音频驱动程序应编译到 audio.primary.$(variant).so 中。
devicePorts:包含可从此模块访问的所有输入和输出设备(包括永久连接的设备和可移除设备)的设备描述符列表。有实际的物理设备,在android中有定义的设备类型,比如AUDIO_DEVICE_OUT_SPEAKER、AUDIO_DEVICE_IN_HDMI、AUDIO_DEVICE_OUT_BLUETOOTH_A2DP等等
mixPorts:包含由音频 HAL 提供的所有输出流和输入流的列表,逻辑上的音频流。每个 mixPort 实例都可被视为传输到 Android AudioService 的物理音频流。
routes: 定义输入和输出设备之间或音频流和设备之间可能存在的连接的列表。
mixPorts和devicePorts的 区别
devicePort
mixPort为逻辑上的音频流,在xml里我们可以自定义逻辑音频流的名字,一般默认的primary_out流
<mixPort name="primary_out" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
从属与primary的module ,这个primary out的流作为一个route的source,也是要通过primary hal来达到这个目标的,这个route的描述如下
.......
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
......
......
<route type="mix" sink="Speaker"
sources="primary_out"/>
......
......
flag为AUDIO_OUTPUT_FLAG_PRIMARY的音频流“primary_out”将通过primary hal流向设备为AUDIO_DEVICE_OUT_SPEAKER的sink设备Speaker
边栏推荐
猜你喜欢

MySQL之my.cnf配置文件

XCTF-easy_Maze

解决:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING

Events in August | 51CTO's 17th Anniversary Celebration, post a blog post to get gifts such as tea sets/notebooks/T-shirts!

sqlilabs less-38~39

MySQL核心SQL:结构化查询语句SQL、库操作、表操作、CRUD

数据使用要谨慎——不良数据带来严重后果

深度学习100例 —— 卷积神经网络(CNN)天气识别

cubemx stm32 afm3000模块 气体流量传感器 驱动代码

Maple 2022软件安装包下载及安装教程
随机推荐
小程序容器加快一体化在线政务服务平台建设
Rust 入门指南 (用 WASM 开发第一个 Web 页面)
What is the terminal privilege management
Multimedia and Internet of Things technology make the version "live" 129 vinyl records "Centennial Voice"
二叉树的基础练习
常用的输入对象
sqlilabs less-40
知其然,知其所以然,JS 对象创建与继承
HCIP 交换实验
Jina 实例秀|七夕神器!比你更懂你女友的AI口红推荐
There are 12 balls, including 11 weight, only one, don't know is light or heavy. Three times in balance scales, find out the ball.
Techwiz OLED:OLED器件的发光效率
mae,mse,rmse分别利用sklearn和numpy实现
ArrayList和LinkedList的区别
自己实现一个枚举validation校验器
Maple 2022软件安装包下载及安装教程
nsq部署_andlua辅助源码
线程必备内容
Meishe Q&A Room | Meiying VS Meishe Cloud Editing
LVS负载均衡群集