新增功能

This commit is contained in:
Your Name
2026-03-24 16:32:56 +08:00
parent 250d173c2f
commit 9160c36735
248 changed files with 3063 additions and 250 deletions
+83
View File
@@ -0,0 +1,83 @@
# 本地录制修复 - 快速参考
## 🔍 问题
本地录制总是失败,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. 检查日志和录制结果