Files
Obsidian/项目文档/徐工/语音/00_项目总览.md
T
2026-11-05 14:35:04 +08:00

77 lines
3.4 KiB
Markdown

# 徐工语音项目总览
## 一句话结论
徐工语音项目的核心是 `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。
本次目标是:……
涉及日志/代码/文档是:……
先判断风险等级;如果要改文件,先问我要不要备份。
完成后把原因、处理方式、验证结果、遗留问题写入对应记录文档。
```