设备输入端 → 输入池 → 调度与处理 → 输出池 → 设备输出端。这篇把声音进出的整条链路拆开,先讲使用场景里真正会遇到的问题,再讲模块职责,然后分别解决输入缓冲、连续播放、功能冲突、故障恢复和预算。
适用对象:同时提供录音、语音唤醒、对话、翻译与播报的应用,以及它们连接的耳机、眼镜等设备。
全文结构
| 章节 | 解决的问题 |
|---|---|
| 使用场景 | 先明确会遇到什么问题(本地案例 + 公开机制) |
| 完整链路 | 五段式音频地图:输入、输入池、调度处理、输出池、输出 |
| 输入缓冲 | 有界保留、锚点、读写与连续性 |
| 输出缓冲 | 串行队列、代次、终局与 purge |
| 调度冲突 | 谁拥有麦克风 / AudioSession / 焦点 |
| 故障恢复 | 断连、重组、模式漂移后的收敛 |
| 预算 | 延迟、内存、功耗的取舍 |
| 验证 | 约定如何被验证 |
全文以图解形式呈现(含交互式链路图),请阅读完整版:
说明:本文是通用设计建议;平台限制与设备能力须另行验证。