徐工语音 Bug 记录
使用规则
每个 Bug 都按“现象 -> 证据 -> 根因 -> 修复 -> 验证 -> 遗留风险”记录,避免只留下口头结论。
Bug 列表
| ID |
日期 |
问题现象 |
模块 |
优先级 |
状态 |
负责人/来源 |
关联记录 |
| VOICE-001 |
2026-06-15 |
语音唤醒异常 |
音频/TXZ/AudioFlinger |
P1 |
待复现 |
已有文档沉淀 |
../语音唤醒异常问题分析、../log 录音分析 |
| VOICE-002 |
待填写 |
语音识别成功但功能无响应 |
协议/IPC |
P1 |
待分析 |
待填写 |
待补充 |
| VOICE-003 |
待填写 |
状态同步不准确 |
状态同步/TXZ |
P2 |
待分析 |
待填写 |
待补充 |
Bug 详情
VOICE-001:语音唤醒异常
| 字段 |
内容 |
| 发现日期 |
历史问题,2026-06-15 补充到 Bug 记录 |
| 影响版本 |
待确认 |
| 问题模块 |
音频输入链路、TXZ 唤醒、AudioFlinger/AudioPolicy |
| 触发条件 |
用户尝试语音唤醒同行者时,出现唤醒失败或录音链路异常 |
| 用户影响 |
无法稳定通过语音唤醒进入后续指令流程 |
| 当前状态 |
待复现 / 待根因确认 |
现象
已有资料将该问题归类为音频唤醒异常,排查方向集中在 AudioFlinger dump、AudioPolicy、录音 dump 和硬件输入链路。当前 Bug 记录先沉淀入口,具体现场表现还需要结合最新 logcat、dump 和录音文件补齐。
复现步骤
- 确认 TXZ/同行者语音助手处于可唤醒状态。
- 多次使用唤醒词触发语音唤醒。
- 记录是否出现无法唤醒、唤醒不稳定、录音异常或 TXZ 无响应。
- 同步抓取 logcat、AudioFlinger、AudioPolicy、audio dumpsys 和 PCM dump。
证据
| 证据类型 |
路径/命令 |
关键内容 |
| 分析文档 |
../语音唤醒异常问题分析 |
记录 AudioFlinger dump 识别方式、常用 dump 命令和唤醒异常排查步骤 |
| 原始分析材料 |
../log 录音分析 |
录音/音频相关原始分析材料 |
| AudioFlinger dump |
adb shell dumpsys media.audio_flinger > audio_flinger.log |
关注 Input thread、Frames read、采样率、通道、设备和错误统计 |
| AudioPolicy dump |
adb shell dumpsys media.audio_policy > audio_policy.log |
关注输入设备选择、路由策略和音频源 |
| 完整音频状态 |
adb shell dumpsys audio > audio.log |
关注音频服务整体状态 |
| PCM dump |
setprop persist.pcm.dump 9 后复现,再 adb pull /data/misc/audioserver/dump_audio_9.pcm |
判断麦克风是否有有效输入音频 |
根因分析
| 候选根因 |
证据 |
可信度 |
| 输入链路没有采集到有效音频 |
需要检查 Input thread 状态、Frames read 变化和 PCM dump 内容 |
中 |
| 音频设备或路由选择异常 |
需要对比 AudioPolicy dump 中的 input device / audio source |
中 |
| 采样率、通道或 HAL 格式与 TXZ 期望不一致 |
需要检查 AudioFlinger 中 Sample rate、HAL format、Channel count |
低 |
| TXZ 唤醒侧状态异常 |
需要补充 TXZ/VoiceService 相关 logcat |
低 |
修复方案
暂不直接给代码修复。下一步先按证据清单复现并抓取日志,确认问题落在音频输入链路、AudioPolicy 路由、TXZ 唤醒状态,还是 YX_Voice 与 TXZ 的连接/状态同步链路。
验证结果
| 验证项 |
命令/步骤 |
结果 |
| 唤醒复现 |
多次触发唤醒词并记录成功率 |
待验证 |
| 输入采集 |
检查 adb shell dumpsys media.audio_flinger 中 Input thread 和 Frames read |
待验证 |
| PCM 有效性 |
拉取 /data/misc/audioserver/dump_audio_9.pcm 并听取/分析波形 |
待验证 |
| TXZ 状态 |
过滤 TXZ、VoiceService、唤醒相关 logcat |
待验证 |
遗留风险
当前只有历史分析文档和排查方法,还缺少同一现场下的完整 logcat、dump 和 PCM 文件,因此不能直接判定根因。后续每次复现都应把日志、dump、录音文件路径回填到本 Bug。
Bug 详情模板
VOICE-XXX:问题标题
| 字段 |
内容 |
| 发现日期 |
待填写 |
| 影响版本 |
待填写 |
| 问题模块 |
待填写 |
| 触发条件 |
待填写 |
| 用户影响 |
待填写 |
| 当前状态 |
待分析 / 修复中 / 待验证 / 已关闭 |
现象
待填写。
复现步骤
- 待填写。
- 待填写。
- 待填写。
证据
| 证据类型 |
路径/命令 |
关键内容 |
| logcat |
待填写 |
待填写 |
| dumpsys |
待填写 |
待填写 |
| 截图/录音 |
待填写 |
待填写 |
根因分析
| 候选根因 |
证据 |
可信度 |
| 待填写 |
待填写 |
高/中/低 |
修复方案
待填写。
验证结果
| 验证项 |
命令/步骤 |
结果 |
| 正常路径 |
待填写 |
待验证 |
| 异常路径 |
待填写 |
待验证 |
| 回归项 |
待填写 |
待验证 |
遗留风险
待填写。
常用问题分类
| 分类 |
典型表现 |
优先看 |
| TXZ 连接 |
初始化失败、绑定状态异常 |
VoiceService.onConnected()、TXZ 初始化日志 |
| 协议分发 |
指令收到但无动作 |
ProtocolManager、YxProtocolHandler、协议映射 |
| IPC 调用 |
业务模块无响应 |
VoiceEventHelper、YxIPC 绑定状态 |
| 状态同步 |
TXZ 反馈和车机状态不一致 |
初始化状态同步、通知方法 |
| 音频唤醒 |
唤醒失败、录音异常 |
AudioFlinger、AudioPolicy、PCM dump |