# 徐工语音 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 和录音文件补齐。 #### 复现步骤 1. 确认 TXZ/同行者语音助手处于可唤醒状态。 2. 多次使用唤醒词触发语音唤醒。 3. 记录是否出现无法唤醒、唤醒不稳定、录音异常或 TXZ 无响应。 4. 同步抓取 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:问题标题 | 字段 | 内容 | |---|---| | 发现日期 | 待填写 | | 影响版本 | 待填写 | | 问题模块 | 待填写 | | 触发条件 | 待填写 | | 用户影响 | 待填写 | | 当前状态 | 待分析 / 修复中 / 待验证 / 已关闭 | #### 现象 待填写。 #### 复现步骤 1. 待填写。 2. 待填写。 3. 待填写。 #### 证据 | 证据类型 | 路径/命令 | 关键内容 | |---|---|---| | logcat | 待填写 | 待填写 | | dumpsys | 待填写 | 待填写 | | 截图/录音 | 待填写 | 待填写 | #### 根因分析 | 候选根因 | 证据 | 可信度 | |---|---|---| | 待填写 | 待填写 | 高/中/低 | #### 修复方案 待填写。 #### 验证结果 | 验证项 | 命令/步骤 | 结果 | |---|---|---| | 正常路径 | 待填写 | 待验证 | | 异常路径 | 待填写 | 待验证 | | 回归项 | 待填写 | 待验证 | #### 遗留风险 待填写。 ## 常用问题分类 | 分类 | 典型表现 | 优先看 | |---|---|---| | TXZ 连接 | 初始化失败、绑定状态异常 | `VoiceService.onConnected()`、TXZ 初始化日志 | | 协议分发 | 指令收到但无动作 | `ProtocolManager`、`YxProtocolHandler`、协议映射 | | IPC 调用 | 业务模块无响应 | `VoiceEventHelper`、YxIPC 绑定状态 | | 状态同步 | TXZ 反馈和车机状态不一致 | 初始化状态同步、通知方法 | | 音频唤醒 | 唤醒失败、录音异常 | AudioFlinger、AudioPolicy、PCM dump |