Android音频框架总结

1、AudioFlinger:接收多个APP的数据,合并下发;是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多个音频流的混音如何处理等等都得由它来完 成。

AudioFlinger主要包含3个主要的子模块:AudioHwDevice、PlaybackThread/RecordThread、PlaybackTrack/RecordTrack。(这里暂时不提音效子模块)

AudioHwDevice是一种抽象,并不是指扬声器、听筒、耳机这种真实的物理设备,而是指不同的Audio HAL module,比如primary module、a2dp module等,也可以理解成是音频框架层定义的一种虚拟设备。它与Audio HAL层的DeviceHal是对应的关系。

PlaybackThread/RecordThread是由AudioFlinger启动的负责音频数据传输的线程,播放和录制的核心流程都在这里面实现。它与Audio HAL层的StreamHal是对应的关系。

PlaybackTrack/RecordTrack对应的是API层的AudioTrack/RecordTrack,它相当于是服务端。

2、AudioPolicyService:决定选择哪个设备输出,接上耳机用耳机,接上蓝牙设备用蓝牙;是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。

APS包含3个核心的子模块:AudioPolicyService、AudioPolicyManager和Engine。

Engine负责存储设备路由策略和音量大小配置;

AudioPolicyManager负责设备路由和音量控制的具体实现;

AudioPolicyService负责对外提供Binder接口和其它模块进行交互;

3、AudioTrack:一个代理,APP 通过AudioTrack(binder通信,分Java层和C++层) 来访问AudioFlinger。

4、底层结构

相关推荐
ai产品老杨27 分钟前
异构计算新范式:基于 X86/ARM 的 AI 视频融合架构与源码级性能优化
arm开发·人工智能·音视频
LittroInno1 小时前
TVMSTofu Video Management System综合视频管理平台
人工智能·计算机视觉·音视频·无人机·低小慢目标
Black蜡笔小新1 小时前
解析安防监控视频融合平台EasyCVR如何构建全场景融合的工地/工厂/交通/城市视频监控中枢/视频基座
音视频
EasyDSS2 小时前
视频高清直播点播/音视频点播/企业融媒体系统EasyDSS在视频门户场景中的应用建设方案
音视频·媒体
潜创微科技--高清音视频芯片方案开发2 小时前
2026年3月分配器芯片厂家推荐白皮书
音视频·硬件工程
XHW___00118 小时前
鸿蒙音频通话应用后台保活与音频连续播放方案
华为·音视频·harmonyos
美狐美颜SDK开放平台18 小时前
直播美颜SDK选型避坑指南:功能与性能对比
人工智能·音视频·美颜sdk·直播美颜sdk·短视频美颜sdk
CDN36019 小时前
CDN 无法播放音视频?流媒体回源与 Range 配置修复
运维·音视频
AI服务老曹20 小时前
GB28181 与 RTSP 深度解析:企业级 AI 视频中台的全协议接入架构
人工智能·架构·音视频
桌面运维家21 小时前
Windows 10音频故障排除:驱动、设备、DirectX修复指南
windows·音视频