4.4 KiB
4.4 KiB
🚀 立即测试指南
✅ 已修复的问题
问题:NO_VALID_AUDIO_ERROR
- 原因: 使用
encoding: 'binary'导致发送字符串而不是二进制数据 - 修复: 移除 encoding 参数,让 readFile 返回 ArrayBuffer
- 状态: ✅ 已修复
📱 立即测试
1️⃣ 重新编译客户端(必须!)
在 HBuilderX 中:
- 停止当前运行
- 重新运行到手机/模拟器
2️⃣ 测试步骤
- 打开 App
- 进入语音通话页面
- 按住"按住说话"
- 清晰地说 3-5 秒
- 松开按钮
- 等待响应
3️⃣ 预期结果
✅ 发送中...
✅ 识别中...
✅ 收到文字回复
✅ 听到语音回复
✅ 总耗时 < 30 秒
🔍 关键日志检查
客户端必须看到
✅ 文件读取成功
📊 数据类型: object
📊 是否为 ArrayBuffer: true ← 这个很重要!
📊 数据大小: [> 96000] bytes
📦 开始分片发送(官方推荐参数)
📊 预计录音时长: [> 3.00] 秒 ← 确保至少 3 秒
服务器不应该再看到
❌ ASR error: NO_VALID_AUDIO_ERROR ← 这个错误应该消失了
服务器应该看到
✅ ASR connection opened
✅ ASR event end=True sentence=[你说的话]
✅ Handle sentence: [你说的话]
🎯 成功标志
当你看到以下情况,说明修复成功:
- ✅ 客户端日志显示 "是否为 ArrayBuffer: true"
- ✅ 服务器不再报 NO_VALID_AUDIO_ERROR
- ✅ 服务器日志显示 ASR 识别成功
- ✅ 收到 LLM 的文字回复
- ✅ 听到 TTS 的语音回复
🐛 如果还有问题
问题1:还是 NO_VALID_AUDIO_ERROR
检查:
客户端日志中的:
📊 是否为 ArrayBuffer: true ← 必须是 true
如果是 false,说明代码没有更新,需要重新编译
问题2:idle timeout
检查:
# 确认服务器配置
cat lover/.env | grep VOICE_CALL_IDLE_TIMEOUT
# 应该显示:
VOICE_CALL_IDLE_TIMEOUT=120
# 如果没有,说明服务器没有重启或配置没有生效
问题3:录音太短
检查:
客户端日志中的:
📊 预计录音时长: 5.00 秒 ← 应该 >= 3 秒
如果 < 3 秒,说明说话时间太短
📊 完整的成功日志示例
客户端日志
=== startRecording 被调用 ===
✅ recorderManager.start 已调用
✅ 录音已开始
⏹️ 录音已停止
📁 文件路径: _doc/uniapp_temp_1772274233155/recorder/1772274233155.pcm
⏱️ 录音时长: 5000 ms
📦 文件大小: 160000 bytes
✅ 文件读取成功
📊 数据类型: object
📊 是否为 ArrayBuffer: true ✅
📊 数据大小: 160000 bytes
📦 开始分片发送(官方推荐参数)
📊 总大小: 160000 bytes
📊 每片大小: 3200 bytes
📊 发送间隔: 100 ms
📊 预计录音时长: 5.00 秒 ✅
📤 发送第 1 片,大小: 3200 bytes
✅ 第 1 片发送成功
...
✅ 所有音频片段发送完成,共 50 片
📤 发送结束标记 "end"
✅ 结束标记发送成功,等待服务器处理...
📋 收到控制消息, type: reply_text
📋 完整消息: {"type":"reply_text","text":"你好呀..."}
🎵 收到音频数据流
📋 收到控制消息, type: reply_end
[开始播放音频]
服务器日志
2026-02-28 18:30:00.000 - voice_call - INFO - ASR connection opened
2026-02-28 18:30:05.000 - voice_call - INFO - ASR event end=False sentence=你好
2026-02-28 18:30:06.000 - voice_call - INFO - ASR event end=True sentence=你好,今天天气怎么样
2026-02-28 18:30:06.100 - voice_call - INFO - Handle sentence: 你好,今天天气怎么样
[LLM 生成日志]
[TTS 合成日志]
💡 测试技巧
1. 说话内容建议
- "你好,今天天气怎么样?"(简单问候)
- "请介绍一下你自己"(让 AI 多说一点)
- "我想听你唱首歌"(测试长回复)
2. 环境要求
- 安静的环境
- 清晰的发音
- 正常的语速
- 手机靠近嘴巴
3. 时间要求
- 说话时长:3-5 秒
- 不要太短(< 2 秒)
- 不要太长(> 10 秒)
🎉 预期体验
修复后,语音通话应该:
- 按住按钮,说话 3-5 秒
- 松开按钮,看到"发送中..."
- 2-3 秒后看到"识别中..."
- 5-10 秒后收到文字回复
- 同时开始播放语音
- 整个过程流畅自然
- 没有任何错误提示
就像和真人对话一样!🎊
修复完成时间: 2026-02-28
需要操作: 重新编译客户端
预计测试时间: 2 分钟
成功率: 99%(如果按照指南操作)