4.2 KiB
4.2 KiB
语音唤醒异常问题分析
概述
本文档记录从日志文件推断ADB命令的分析流程,用于语音唤醒异常问题的排查。
分析案例
输入:log 录音分析.md
文件特征:
- 文件大小:578KB
- 行数:9001行
- 无直接adb命令记录
分析步骤
1. 查看文件开头内容
pid: 3211
pid: 3294
...
Output thread 0xf2164c184c40, name AudioOut_D, tid 3103, type 0 (MIXER):
I/O handle: 13
Sample rate: 48000 Hz
HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
Channel count: 8
...
2. 识别日志类型
根据关键内容特征判断:
| 特征 | 内容示例 | 判断 |
|---|---|---|
| 线程信息 | Output thread, Input thread | AudioFlinger dump |
| 音频参数 | Sample rate, HAL format, Channel count | 音频系统状态 |
| 设备信息 | AUDIO_DEVICE_OUT_BUS | 音频设备配置 |
| 时间戳统计 | Timestamp stats, jitterMs | 性能数据 |
结论: 这是一份 AudioFlinger 服务 dump 日志
3. 推断ADB命令
根据日志类型推断:
| 日志类型 | 推断命令 |
|---|---|
| AudioFlinger dump | adb shell dumpsys media.audio_flinger |
| AudioPolicy dump | adb shell dumpsys media.audio_policy |
| 完整音频状态 | adb shell dumpsys audio |
常见音频Dump命令汇总
| 命令 | 说明 | 应用场景 |
|---|---|---|
adb shell dumpsys media.audio_flinger |
AudioFlinger服务状态 | 录音/播放问题排查 |
adb shell dumpsys media.audio_policy |
音频策略服务状态 | 设备切换问题排查 |
adb shell dumpsys audio |
完整音频系统状态 | 全面音频问题排查 |
adb shell dumpsys media.camera |
摄像头服务状态 | 摄像头问题排查 |
AudioFlinger Dump关键字解读
Output Thread(输出线程)
| 字段 | 说明 |
|---|---|
| Sample rate | 采样率(如48000Hz) |
| HAL format | 硬件音频格式(PCM_16_BIT) |
| Channel count | 通道数 |
| Channel mask | 通道掩码 |
| Output device | 输出设备(如AUDIO_DEVICE_OUT_BUS) |
| Frames written | 已写入帧数 |
Input Thread(输入线程)
| 字段 | 说明 |
|---|---|
| Audio source | 音频源(如AUDIO_SOURCE_MIC) |
| Input device | 输入设备 |
| Frames read | 已读取帧数 |
Timestamp Stats(时间戳统计)
| 字段 | 说明 |
|---|---|
| jitterMs | 抖动(毫秒) |
| localSR | 本地采样率 |
| err | 错误计数 |
问题排查流程
语音唤醒异常排查步骤
-
开启录音保存
setprop persist.pcm.dump 9 -
触发语音唤醒
- 讲话唤醒同行者
- 可多次尝试
-
获取音频系统状态
adb shell dumpsys media.audio_flinger > audio_flinger.log adb shell dumpsys audio > audio.log -
关闭录音保存
setprop persist.pcm.dump 0 -
提取录音文件
adb pull /data/misc/audioserver/dump_audio_9.pcm
分析要点
| 问题类型 | 检查内容 |
|---|---|
| 无法唤醒 | Input thread状态、Frames read计数 |
| 声音异常 | jitterMs抖动、err错误计数 |
| 设备问题 | Input/Output device配置 |
| 格式问题 | HAL format、Sample rate |
从日志推断命令的方法总结
判断流程
1. 查看文件开头内容
↓
2. 识别关键特征字段
↓
3. 对照常见dump格式
↓
4. 推断具体adb命令
特征对照表
| 日志特征 | 对应命令 |
|---|---|
| Output/Input thread | dumpsys media.audio_flinger |
| AudioPolicy相关 | dumpsys media.audio_policy |
| ActivityManager | dumpsys activity |
| PackageManager | dumpsys package |
| SurfaceFlinger | dumpsys SurfaceFlinger |
参考文件
- 项目文档/徐工/log 录音分析.md - 原始日志文件
- 项目文档/徐工/语音.md - 语音模块开发文档
文档整理日期: 2026-05-27