Files
zyt/QUICK_FIX_REFERENCE.md
T
2026-03-24 16:32:56 +08:00

84 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 本地录制修复 - 快速参考
## 🔍 问题
本地录制总是失败,blob 为空
## 🎯 根本原因
录制启动太晚(1200ms),在对方挂断后才启动,此时 SDK 已销毁视频轨道
## ✅ 解决方案
### 1. 缩短启动延迟
```
1200ms → 500ms
```
### 2. 快速重试
```
300ms 间隔,最多 10 次
```
### 3. 立即停止录制
```
监听 USER_LEAVE 事件,立即调用 beginStopNow()
```
### 4. 缩短停止延迟
```
300ms → 100ms
```
## 📊 测试检查清单
### 启动阶段(接通后 1 秒内)
- [ ] 看到 "尝试启动本地录制"
- [ ] 看到 "视频元素已就绪"
- [ ] 看到 "✅ 本地录制已成功启动"
### 录制阶段(每 250ms
- [ ] 看到 "收到数据块,大小: XXX"
- [ ] 数据块数持续增加
### 停止阶段(挂断时)
- [ ] 看到 "检测到通话结束事件"
- [ ] 看到 "已收集数据块: X"X > 0
- [ ] 看到 "生成 Blob: XXX bytes"(不是 null
- [ ] 看到 "本地录制已上传并关联到通话记录"
## 🚨 常见问题
### 问题:数据块数为 0
**原因**:录制启动太晚或视频流无效
**检查**
```javascript
// 控制台执行
document.querySelectorAll('video').forEach((v, i) => {
console.log(`Video ${i}:`, v.readyState, v.srcObject)
})
```
### 问题:Blob 为 null
**原因**:通话时间太短(< 2 秒)
**解决**:保持通话至少 5 秒
### 问题:录制启动失败
**原因**:找不到视频元素
**检查**:是否看到 "未找到视频元素" 日志
## 📝 修改的文件
1. `admin/src/components/chat-dialog/index.vue`
2. `admin/src/utils/call-local-recorder.ts`
## 🔗 详细文档
- `LOCAL_RECORDING_DEBUG_GUIDE.md` - 完整调试指南
- `RECORDING_FIX_SUMMARY.md` - 修复总结
- `admin/test-local-recording.html` - 测试工具
## 💡 测试建议
1. 清除浏览器缓存
2. 打开控制台(F12
3. 发起视频通话
4. 保持通话 5 秒以上
5. 正常挂断
6. 检查日志和录制结果