视频会议保存

This commit is contained in:
duoaohui
2026-05-18 19:42:55 +08:00
parent 315884685f
commit ac8ec4c903
41 changed files with 5069 additions and 39 deletions

View File

@@ -129,6 +129,24 @@ const (
// ====== 补充事件(非 §6.3 核心 11 事件,但业务必须)======
MeetingWSEventChatMessage = "meeting.chat.message" // S→C会议内文字聊天广播REST SendChat 触发)
// ====== 屏幕共享Phase 3 引入2 个)======
// 屏幕流仍走普通的 sendTransport video Producer 路径appData.screen=true 区分),
// 这两个事件用于"会议内仅一份屏幕共享"的状态同步:
// - 启动时广播 producer_id + 共享者,前端将该流提升为大画面
// - 停止时广播,前端把屏幕 tile 撤掉,回到普通网格布局
// 后入者由 OnRoomJoin 内部 pushExistingRoomState 定向补推 started 事件,避免错过
MeetingWSEventScreenStarted = "meeting.screen.started" // S→C屏幕共享开始
MeetingWSEventScreenStopped = "meeting.screen.stopped" // S→C屏幕共享停止
// ====== 会议录制Phase B 引入2 个,仅 S→C======
// 启动 / 停止由 REST 接口POST /meetings/:code/recordings、DELETE …)触发,
// service 层落 DB + 调 media-server 后通过下面两个事件广播给会议内所有活跃成员:
// - started让所有客户端在 UI 上显示"正在录制"指示器
// - stopped附带最终状态ready / failed+ 文件 URLready 时),
// 便于前端立即跳转到回放或提示失败
MeetingWSEventRecordingStarted = "meeting.recording.started" // S→C录制开始
MeetingWSEventRecordingStopped = "meeting.recording.stopped" // S→C录制结束
)
// MeetingWSClientEvents 客户端可主动发起的 WS 事件C→S白名单