文档开发者中心
我的

Android P Audio架构

Audio 是整个 Android 平台非常重要的一个组成部分,负责音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节等。

1. Audio整体架构

Application Framework

音频应用,Java实现,通过JNI与下层音频相关的原生框架进行交互,包含音频播放和音频录制。

JNI

Java实现的应用通过JNI来访问下层C++实现的原生框架。

Native Framework

提供与应用框架对应的原生实现,并且通过Binder IPC访问下层媒体服务器中特定的音频服务。

Binder IPC Proxies

提供跨进程边界的通信。

Media Server

提供音频处理相关的服务,如音频服务、音频策略、混音等,与下层HAL进行交互。

HAL

提供硬件抽象的接口,供媒体服务层的音频服务进行调用。

Linux kernel

音频的驱动与上层HAL和下层硬件进行交互,包括ALSA、OSS或者自定义的驱动。

2. Audio和MultiMedia混合架构

  • AudioTrack,负责音频数据的输出

  • AudioRecord,负责音频数据的采集

  • AudioSystem,负责音频事务的综合管理

  • AudioPolicy,音频策略的制定者,负责音频设备切换的策略选择、音量调节策略等

  • AudioFlinger,音频策略的执行者,负责输入输出流设备的管理、音频流数据的处理和传输

MultiMedia负责音视频的编解码,将解码后的数据通过AudioTrack输出,AudioRecord采集的数据由MultiMedia进行编码。

3. Audio详细架构


4. Audio文件视图

By HW ZCX

点赞
收藏
回复
分享
举报
浏览1965 编辑于2020-07-31 07:27未知归属地
全部评论
最多点赞
最新发布
最早发布
暂无评论
暂无评论
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

目录 收起
1. Audio整体架构
2. Audio和MultiMedia混合架构
3. Audio详细架构
4. Audio文件视图
了解社区公约,与您携手共创和谐专业的开发者社区。