# 徐工语音项目总览 ## 一句话结论 徐工语音项目的核心是 `YX_Voice` 系统应用,它作为同行者 TXZ 语音助手与车载业务模块之间的桥接层,负责语音指令接收、协议分发、IPC 调用、车辆状态同步和语音相关问题排查。 ## 当前定位 | 项目项 | 内容 | |---|---| | 项目名称 | 徐工语音项目 | | 核心模块 | `YX_Voice` | | 包名 | `com.yaxon.voice` | | 应用类型 | Android System Application | | 进程属性 | 系统持久化进程,`persistent=true` | | 运行身份 | `android.uid.system` | | 语音方案 | 同行者 TXZ 语音助手 | | 主要职责 | TXZ 连接、语音指令分发、协议处理、IPC 调用、状态同步 | ## 核心链路 ```text 用户语音 -> TXZ 语音助手 -> VoiceService -> ProtocolManager -> YxProtocolHandler -> 具体 Protocol -> VoiceEventHelper -> YxIPC / 业务模块 -> 状态同步回 TXZ ``` ## 已有资料索引 | 文档 | 用途 | |---|---| | [[YX_Voice_架构文档]] | 系统架构、模块分层、核心链路 | | [[YX_Voice_模块详细文档]] | 应用入口、服务、管理器、Helper、Receiver 等详细说明 | | [[YX_Voice_协议设计文档]] | 协议接口、命令映射、Bundle 消息格式、状态同步 | | [[YX_Voice_配置文档]] | Gradle、Manifest、权限、IPC、TXZ 连接配置 | | [[同行者可见即可说自动注册框架对接方案_快速阅读]] | 可见即可说接入原则、控件要求、AIDL/广播链路 | | [[../语音.md]] | 调试命令、账号、问题汇总、资源路径 | | [[../语音_整理.md]] | 原始整理记录 | | [[../语音唤醒异常问题分析.md]] | AudioFlinger dump 与唤醒异常排查 | | [[../log 录音分析.md]] | 录音/音频相关原始分析材料 | ## 当前核心难点 | 难点 | 说明 | 风险 | |---|---|---| | TXZ 连接与状态同步 | 连接成功后需同步车辆配置、蓝牙、音量、亮度、设置等状态 | 状态不同步会导致语音反馈与车机实际状态不一致 | | 协议映射完整性 | 语音指令需要映射到正确协议和业务模块 | 漏映射会出现语音识别成功但功能无响应 | | IPC 可靠性 | VoiceEventHelper 通过 IPC 控制音乐、设置、空调等模块 | 业务模块未绑定或接口变更会导致调用失败 | | 可见即可说接入 | 控件需要唯一 ID、文本/隐藏标签、状态型描述动态更新 | UI 可见但语音无法命中或命中错误状态 | | 音频唤醒问题 | 涉及 AudioFlinger、AudioPolicy、录音 dump 和硬件输入链路 | 需要日志、dump 和录音文件联合判断 | ## 近期优先级 1. 固化调试命令和日志过滤方式,减少重复查找。 2. 维护 Bug 记录,区分现象、根因、修复和验证结果。 3. 建立协议/模块变更记录,避免接口变更后文档失真。 4. 用测试验证记录沉淀每次构建、安装、语音唤醒、指令执行、状态同步结果。 5. 后续进入代码修改时,再联动 `F:\ZDCode\xugong` 源码工程。 ## Agent 使用入口 每次让 Agent 处理本项目任务,建议先说: ```text 先读取 agent.md 和 项目文档/徐工/语音/00_项目总览.md。 本次目标是:…… 涉及日志/代码/文档是:…… 先判断风险等级;如果要改文件,先问我要不要备份。 完成后把原因、处理方式、验证结果、遗留问题写入对应记录文档。 ```