一、Android 音频简介

Android 音频简介:

文档类型 :理论基础
适用读者:系统工程师、Framework/HAL 开发者、音视频方向架构师


摘要

在移动终端与嵌入式系统中,应用层所感知的"音频"可归纳为两条主路径:录制(Capture)播放(Playback)

  • 录制大多以 应用或系统服务 为数据消费端, 例如录音 APK, 后台助手服务... 以及任何需要拾音的场景,通过将前端拾音链路数字化后送入上层.
  • 播放大多以 媒体文件 为数据供给端,经系统混音与路由后送达物理输出设备。

理解这两条路径上的模块边界,是排查路由、延迟、格式与权限问题的基础。


1. 概念模型

数字化与驱动
录制上行
播放下行
DA 与功放
声学/电声前端
内核与 HAL
应用 / 系统服务
扬声器 / 耳机等

  • 录制 :声源 → 模数转换与总线传输 → 内核/ALSA → Audio HAL → AudioFlinger → AudioRecord / MediaRecorder 等 → 应用或系统服务。
  • 播放 :应用或系统 → AudioTrack / MediaPlayer 等 → AudioFlinger → HAL → 内核 → 数模转换与放大 → 换能器(扬声器/耳机)。

2. 录制(Capture)

定义:将模拟声信号转换为数字 PCM(或经编码的压缩流),并按策略送达指定消费者(APK、系统服务或算法模块)。

典型发起方 :不限于用户可见应用;系统级语音唤醒、通话上行、屏幕录制伴音等,均可能由系统服务或特权组件在后台发起。

2.1 链路分层说明

层级 职责 说明
传感器 声压 → 模拟电信号 麦克风(MEMS/ECM 等)
Codec / ADC 模拟 → 数字 PCM 采样率、位深、通道数由硬件与策略共同决定
可选 DSP AEC、NS、AEC/AGC、唤醒词等 因芯片与产品策略而异
内核音频子系统 ALSA / ASoC 等 驱动 I2S/PDM/TDM 等数字音频接口
Audio HAL 统一设备抽象 实现 IDevicesFactory / Stream 等接口(具体随版本)
AudioFlinger 缓冲、线程模型、与策略交互 录音侧通常对应 RecordThread 等实现
Framework API AudioRecordMediaRecorder PCM 直出或编码封装
应用 消费、存储、上传、分析 含"无 UI"后台场景

2.2 常见 API 形态

  • AudioRecord:面向 PCM 流,适合实时处理、自定义编码或算法。
  • MediaRecorder:封装采集与编码流程,适合"一键成文件"的场景。

2.3 典型系统场景(非仅用户 APK)

  • 语音唤醒(如 "Hey Siri / Google / 小爱"):由常驻服务在约束功耗与隐私策略下持续或间歇采集。
  • 通话与会议:上行链路由通信栈驱动,路由与优先级与媒体播放不同。

3. 播放(Playback)

定义:将上层提供的音频数据(PCM 或经解码后 PCM)经混音、音效与路由,送至目标输出设备。

典型发起方 :媒体播放器、游戏、系统 UI 音效、导航等;界面形态 不一定为"播放器应用",只要底层走 AudioTrack/MediaPlayer 等标准通路,即属于播放链路。

3.1 链路分层说明

层级 职责 说明
应用 解码、合成、写 PCM 压缩格式常经 MediaCodec/MediaExtractor 转 PCM
Framework AudioTrackMediaPlayer 统一与 AudioFlinger 交互
AudioFlinger 缓冲、混音、音效、路由 多路并发、焦点与抢占策略
Audio HAL 设备输出抽象 与具体声卡/Codec 绑定
内核 PCM 下发至硬件 I2S/PCM 等
Codec / DAC 数字 → 模拟 重建波形
功放与换能器 电流驱动与发声 扬声器、耳机、外接音频等

3.2 关键概念

  • 混音:多路 PCM 在时间上对齐并叠加,受音量、焦点与策略影响。
  • 路由:扬声器、耳机、蓝牙 A2DP、USB Audio 等由策略与硬件能力决定。
  • 直通/低延迟路径:部分场景可能绕过常规混音路径,属实现细节。

掌握上述分层,有助于在延迟、格式、路由、焦点、权限等问题上快速定位责任边界。

下一章,介绍关于 Android 音频框架内容。
官网资料

相关推荐
liuyunshengsir5 小时前
基于海光DCU的AI音乐翻唱全流程落地实战
人工智能·大模型·音频·dcu
林澈在路上1 天前
AI做歌用哪个最好 2026国产AI音乐工具评测
大数据·人工智能·aigc·音视频·音频
东莞市奥普新音频技术有限公司2 天前
国产音频分析仪怎么选?从性能参数、测试软件到自动化能力
人工智能·科技·测试工具·自动化·音视频·音频
k4m7v2pz3 天前
ESP32-S3 + I2S 麦克风实时音频流静音问题排查:从网络到AGC的谬误溯源
rust·音频·esp32·agc·实时监听·静音排查
Buke..4 天前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
爱和冰阔落4 天前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓
深念Y5 天前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
~央千澈~13 天前
从“拟声”到“生成”:AI音效背后的技术原理·优雅草AI音乐·AI音乐技术研究
大数据·人工智能·ai·音频
Anhty13 天前
2026 实测 4 款 AI 变声器|QQ 聊天伪装声线,告别僵硬假声
人工智能·功能测试·ios·智能手机·安卓
我是海飞14 天前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理