Ai_GirlFriend/xuniYou/测试检查清单.md
2026-02-28 18:04:34 +08:00

3.9 KiB
Raw Blame History

语音通话测试检查清单

优化完成确认

  • 服务器 .env 文件已添加 VOICE_CALL_IDLE_TIMEOUT=120
  • 客户端分片参数已优化为官方推荐值3200 bytes, 100ms
  • 服务器已重启(必须执行
  • 客户端已重新编译

🔧 服务器重启步骤

# 1. 停止旧进程
pkill -f "uvicorn.*main:app"

# 2. 确认进程已停止
ps aux | grep uvicorn

# 3. 启动新进程
cd /path/to/lover
uvicorn main:app --host 0.0.0.0 --port 30101 --reload

# 4. 确认启动成功
# 应该看到类似输出:
# INFO:     Uvicorn running on http://0.0.0.0:30101

📱 客户端测试步骤

1. 准备工作

  • 确保手机/模拟器已连接
  • 确保网络连接正常
  • 确保麦克风权限已授予

2. 测试流程

  1. 打开 App
  2. 进入语音通话页面
  3. 检查 WebSocket 连接状态(应该显示已连接)
  4. 按住"按住说话"按钮
  5. 清晰地说 3-5 秒的话(例如:"你好,今天天气怎么样?"
  6. 松开按钮
  7. 等待响应(应该在 10-20 秒内收到)

3. 预期结果

  • 看到"发送中..."提示
  • 看到"识别中..."提示
  • 收到文字回复
  • 听到语音回复
  • 没有 "idle timeout" 错误

📊 日志检查

客户端日志关键信息

✅ 应该看到:
📦 开始分片发送(官方推荐参数)
📊 总大小: [大于 96000] bytes  3秒音频 = 96000 bytes
📊 每片大小: 3200 bytes
📊 发送间隔: 100 ms
✅ 所有音频片段发送完成
✅ 结束标记发送成功
📋 收到控制消息, type: reply_text
🎵 收到音频数据流
📋 收到控制消息, type: reply_end

❌ 不应该看到:
❌ WebSocket 关闭, code: 1000
{"type":"error","msg":"idle timeout"}

服务器日志关键信息

✅ 应该看到:
ASR connection opened
ASR event end=True sentence=[识别的文字]
Handle sentence: [识别的文字]
[LLM 相关日志]
[TTS 相关日志]

❌ 不应该看到:
idle timeout
ASR error

🐛 常见问题

问题1还是出现 "idle timeout"

检查

  • 服务器是否已重启?
  • .env 配置是否正确?
  • 录音时长是否足够(至少 3 秒)?

解决

# 确认配置
cat lover/.env | grep VOICE_CALL_IDLE_TIMEOUT

# 应该显示:
VOICE_CALL_IDLE_TIMEOUT=120

# 如果没有,手动添加后重启服务器

问题2没有收到任何响应

检查

  • WebSocket 是否连接?
  • 网络是否正常?
  • 服务器是否运行?

解决

# 检查服务器状态
curl http://192.168.1.141:30101/docs

# 应该返回 FastAPI 文档页面

问题3录音时长太短

检查

客户端日志中的 "总大小"
- 1 秒 = 32000 bytes ❌ 太短
- 3 秒 = 96000 bytes ✅ 合适
- 5 秒 = 160000 bytes ✅ 更好

解决

  • 说话时间延长到 3-5 秒
  • 清晰发音,不要含糊
  • 避免背景噪音

问题4ASR 无法识别

可能原因

  • 音频质量差(噪音大)
  • 说话不清晰
  • 音频格式不对

解决

  • 在安静环境测试
  • 清晰发音
  • 确认录音格式为 PCM 16kHz 单声道

📞 需要帮助?

如果测试失败,请提供:

  1. 客户端日志(完整的,从按下按钮到收到响应)
  2. 服务器日志(查看 tail -f logs/app.log
  3. 录音信息
    • 总大小bytes
    • 时长(秒)
    • 片数
  4. 错误信息(如果有)

🎉 测试成功标志

当你看到以下情况,说明测试成功:

  1. 按住按钮,说话 3-5 秒
  2. 松开按钮,看到"发送中..."
  3. 看到"识别中..."
  4. 收到文字回复(例如:"你好呀,今天天气不错~"
  5. 听到语音回复AI 的声音)
  6. 整个过程在 20 秒内完成
  7. 没有任何错误提示

恭喜!语音通话功能已正常工作!🎊