跳转到内容
搜索文档

舞台管理

最后更新 查看 MarkdownAgent 设置

本指南介绍如何在 Cloudflare RealtimeKit 中使用舞台管理 API 来实现网络研讨会(Webinar,即 WebRTC)使用场景。

RealtimeKit 配备了可选的托管配置,而不是传统的发布-订阅模型(用户可以发布其媒体,而其他人可以选择订阅)。在此托管配置中,可以为权限较低的用户配置默认不发布媒体的行为。然后,该用户可以请求允许发布其媒体的权限,而特权用户可以选择授予或拒绝访问。

使用 RealtimeKit 的舞台管理 API,用户可以执行以下操作:

  • 离开和加入舞台
  • 管理舞台请求和权限
  • 踢出参与者

访问舞台 API

可以通过 meeting.stage 命名空间访问舞台模块。

属性

状态

meeting.stage.status 属性返回本地用户的当前舞台状态。

可能的状态值:

  • ON_STAGE - 用户当前在舞台上,并正在共享音频和视频。
  • OFF_STAGE - 用户正在观看会话,但不在舞台上,且未共享音频或视频。
  • REQUESTED_TO_JOIN_STAGE - 用户有一个等待处理的加入舞台并共享音频和视频的请求。该状态会一直保持,直到主持人接受或拒绝该请求。
  • ACCEPTED_TO_JOIN_STAGE - 主持人已接受用户加入舞台的请求。

主持人控制

RealtimeKit 的舞台管理 API 允许主持人接收和管理舞台请求,以及离开和加入舞台。

加入舞台

此方法将用户连接到媒体室,使其能够与会议中的其他同行(peer)进行交互。

离开舞台

使用此方法后,用户将与媒体室断开连接,随后无法与同行通信。此外,房间里的其他人也将无法看到其音频和视频。

授予访问权限

特权用户可以使用 grantAccess 方法授予一组用户访问舞台的权限。

参数:

  • userIds (string[]) - 要授予舞台访问权限的用户 ID 数组。您可以使用 meeting.participants.toArray().map(p => p.userId) 获取用户 ID

拒绝访问

特权用户可以使用 denyAccess 方法拒绝一组用户访问舞台。

参数:

  • userIds (string[]) - 要拒绝舞台访问权限的用户 ID 数组。您可以使用 meeting.participants.toArray().map(p => p.userId) 获取用户 ID

踢出用户

特权用户可以使用 kick 方法将一组用户从舞台上移除。

参数:

  • userIds (string[]) - 要从舞台中移除的用户 ID 数组。您可以使用 meeting.participants.toArray().map(p => p.userId) 获取用户 ID

参与者控制

RealtimeKit 的舞台管理 API 允许参与者请求和管理舞台访问。

请求访问权限

此方法用于创建一个新的舞台请求,该请求可由主持人批准。每个用户(观众或主持人)都必须调用此方法才能加入舞台。

当主持人调用此方法时,其状态将更新为 ACCEPTED_TO_JOIN_STAGE

取消访问请求

您可以调用此方法来取消您的舞台请求。

事件

meeting.stage 模块会触发以下事件:

舞台访问请求已更新

当舞台访问请求有更新时触发。

舞台访问请求已接受

当主持人接受加入舞台请求或直接邀请用户上台时触发。

舞台状态已更新

当本地用户的舞台状态改变时触发。

新的舞台请求

当有新参与者请求加入舞台时触发。

舞台请求已批准

当舞台请求获得主持人批准时触发。

舞台请求已拒绝

当主持人拒绝舞台请求时触发。

这篇文档对您有帮助吗?