跳转到内容
搜索文档

会议

最后更新 查看 MarkdownAgent 设置

会议(Meeting)是一个可重复使用的虚拟房间,您可以随时加入并在其中进行实时互动。

您可以为它分配一个标题和功能配置,然后添加被授权加入的参与者。会议本身并没有“开始”或“结束”;它只是存在着。

因为会议没有特定的日期或时间,所以您可以提前很久创建它们,或者在用户需要加入时即时创建。

下图显示了会议的蓝图:

---
title: 会议
---
flowchart TB
  accTitle: 会议蓝图
  accDescr: 展示会议蓝图的图表

  subgraph details [ ]
      direction LR
      subgraph feat ["<b>功能</b>"]
          feat-content["聊天<br>...<br>录制<br>...<br>转录"]
      end
      subgraph config ["<b>配置</b>"]
          config-content["record_on_start<br>...<br>persist_chat<br>...<br>ai_config"]
      end
  end

  subgraph participants ["<b>参与者</b>"]
      direction LR
      subgraph participants-row2 [ ]
          direction TB
          P3["<br>参与者 3
          <br>
          "]
          P4["<br>参与者 4
          <br>
          "]
      end
      subgraph participants-row1 [ ]
          direction TB
          P1["<br>参与者 1
          <br>
          "]
          P2["<br>参与者 2
          <br>
          "]
      end
  end

  style participants-row1 fill:none,stroke:none
  style participants-row2 fill:none,stroke:none
  style details fill:none,stroke:none

会话期(Session)

**会话期(Session)**是会议的活动实例。它在第一个参与者加入会议时自动开始,在最后一个参与者离开后不久结束。 会话期会继承其父会议的所有设置(例如功能和标题)。

因为会议是持久存在的,所以随着时间的推移,它可以拥有许多不同的会话期。

示例:将会议想象成一个周期性的每周站会活动。

会议是系统中永久存在的“站会活动”。

每周,当参与者加入那一周的站会时,就会创建一个新的会话期(Session)——这个会话期代表了那一周实际进行的实时站会。

注意:这一定位对于计费非常重要。您只需为活动会话期的持续时间支付每个参与者的费用,而无需为闲置的会议付费。

您可以从 RealtimeKit 仪表板(Dashboard)或使用 Sessions API 端点获取会话期的详细信息。

RealtimeKit 仪表板中的会话期

会话期相关术语

等候室(Waiting Room)

等候室允许参与者加入会议,但不会立即进入实时会话期。这使主持人可以完全控制谁能加入他们何时进入以及如何管理会议流程

主持人还可以配置用户如何从等候室进入会议的具体行为。

  • 在被某人接受时加入 参与者将留在等候室中,直到主持人或其他授权用户明确接纳他们。非常适合受控度高或私密的会议。

  • 在特权用户加入时加入 参与者最初留在等候室中,但一旦主持人或其他特权用户进入会议,就会自动被接纳。这对于在主持人到场后参会者才能加入的预定活动非常有用。

  • 接纳用户进入等候室 主持人可以查看等待的用户列表,单独或批量接纳他们,或者移除他们。此模式为进入的参与者提供了最大的可见性和控制力。

这些选项允许您定制准入的管理方式——无论您是需要严格的准入控制、主持人到场后更流畅的流程,还是两者的结合。

舞台(Stage)

会议可以配置虚拟舞台,这有助于您管理在人数众多的会话期间谁可以活跃地参与音频和视频互动。

当参与者在舞台上时,他们在网格中是可见的,并且可以向会议中的每个人发布他们的音频和视频。舞台下的参与者无法发布媒体,但他们仍然可以通过聊天投票问答插件等功能充分参与——这使得体验具有互动性,又不会使实时视频布局过于拥挤。

参与者还可以申请上台,从而在他们想要发言或演示时发出信号。主持人始终保留完全的控制权:他们可以批准或拒绝请求,或者根据需要直接邀请参与者上台或将其从舞台上移除

这种设置非常适合网络研讨会、全员大会、问答会(AMA)和其他结构化活动,在这些活动中,只有一部分用户应该进行广播,而其他所有人则在观众席参与。

连接的会议

连接的会议允许您创建相互关联的会议空间,参与者可以在会话期内切换。这对于研讨会、课堂、平行讨论或任何主会议需要拆分为较小组然后又重新聚在一起的场景非常有用。

您可以使用以下权限控制参与者如何在这些连接的空间之间移动:

  • 完全访问权限: 允许参与者创建、更新和删除连接的会议。
  • 切换连接的会议: 允许参与者在可用的连接(子)会议之间自由移动。
  • 切换到主会议: 允许参与者随时返回主(父)会议。

创建会议

您通常在后端使用 Meetings API 创建和管理 RealtimeKit 会议。要创建会议,请向 Create Meeting 端点发送一个 POST 请求。

API 前提条件

确保您为该 API 请求准备好以下值:

  • 您的 Cloudflare ACCOUNT_ID
  • RealtimeKit APP_ID
  • 您的 CLOUDFLARE_API_TOKEN(具有 Realtime 权限)

如果您还没有这些,请参阅快速入门指南。

curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/realtime/kit/{APP_ID}/meetings \
  --request POST \
  --header "Authorization: Bearer <CLOUDFLARE_API_TOKEN>" \
  --header "Content-Type: application/json" \
  --data '{
    "title": "My First Cloudflare RealtimeKit meeting"
    }'

成功的响应包含所创建会议的唯一 id。请保存此 ID,因为在此特定会议上进行的所有未来操作(例如添加参与者或禁用它)都需要它。

有关所有可用配置参数的完整列表,请参阅 Create Meeting API

后续步骤

在了解会议和会话期后,您可以探索以下后续步骤:

  • 为您的 App 配置预设(Presets) – 为从会议创建的所有会话期设置默认权限、媒体设置和行为。
  • 向会议添加参与者(Participants) – 管理谁可以加入、他们的角色以及他们继承的访问控制。
  • 开启使用 RealtimeKit SDK – 只需几行代码即可将 RealtimeKit 集成到您的 Web 或移动应用中。

这篇文档对您有帮助吗?