Meet(嵌入)

一场完整的会议,就在你的页面里。

本页讲如何加载 Meet SDK、从你自己的页面加入会议、它提供的选项与事件,以及你的页面需要放行什么。

01

嵌入一场会议

在 Meet 或控制台里创建会议,拿到会议码(abc-defg-hij)。然后给 SDK 一个用来放置会议的元素:

从你的页面加入
<div id="call" style="height:640px"></div>
<script src="https://meet.yunzheng.space/v1.js"></script>
<script>
  var call = OrbitMeet.join({
    code: "abc-defg-hij",
    name: "Ada",
    el: "#call",
    onJoined: function (d) { console.log("in the meeting as " + d.role); },
    onLeave: function () { console.log("the call is over"); },
    onError: function (e) { console.error(e.code || "meet", e.message); }
  });
  // later: call.leave();
</script>

会议运行在该元素内的一个 frame 里:等候室、屏幕共享、字幕与主持人控制一应俱全。你的页面只收到事件——不会拿到会议的媒体或凭据。

每位通过嵌入进入的访客都以来宾身份加入,遵循会议自己的等候室、口令与来宾规则。SDK 也接受由你的服务器签发席位用的 token 选项;平台目前尚未签发这类令牌,请不要传。
02

选项

选项含义
code必填。会议码,带不带短横线均可,也可以是包含会议码的任意会议链接。
el放置位置:元素或选择器,默认 document.body
name会议里显示的名字,最多 40 个字符;不给则由来宾自己填写。
langenzh
widthheightframe 的 CSS 尺寸。默认占满元素,最低 420px 高。
titleframe 的无障碍标题,默认 Orbit Meet
onReadyonJoinedonLeaveonError四个事件的内联写法,等同于之后调用 on(...)

OrbitMeet.join 返回的对象提供 on(event, fn)off(event, fn)leave()(移除 frame)、frame()(iframe;离开后为 null)、codeversion

03

事件

事件内联写法时机附带数据
readyonReady会议页面已在 frame 中加载。{ code }
joinedonJoined已进入通话;若有等候室,则为通过之后。{ session, role }
leftonLeave离开、被移出或会议结束;SDK 随即移除 frame。{ session }
erroronError加入被阻止。{ code, message }{ message }
04

处理错误

错误只会被报告,不会被抛出:页面内容里写错的会议码会在你的处理函数里收到一条消息,而不会让你页面的脚本停下。不是会议码的输入会报告为 bad-code,且不会加载任何东西。会议本身拒绝的情况——会议已结束、口令错误、人数已满——会带一条写给人看的 message,可以直接显示。

请用内联的 onError,而不是之后再用 on 添加:无效会议码会在下一个事件循环里报告,内联处理函数这时已经就位。

05

你的页面需要放行什么

SDK 创建 frame 时会带上 allow="camera; microphone; display-capture; fullscreen; autoplay"。除非属性里写明,浏览器会对来自其他站点的 frame 拒绝这些权限——所以自己手写、不带这个属性的 iframe 只会显示黑色画面,也没有任何报错。如果你自己构建 iframe,请照抄这个属性。

如果你的页面设置了 Content-Security-Policy,请在 script-src(加载 SDK)与 frame-src(加载会议)中都放行 https://meet.yunzheng.space。如果你的页面发送 Permissions-Policy 头,不要对该来源关闭摄像头或麦克风。

06

用链接代替嵌入

  • OrbitMeet.link(code) 返回会议自己的地址,可用于在新标签页打开会议的按钮。
  • OrbitMeet.code(input) 把用户输入或粘贴的内容规整为会议码;不是会议码时返回空字符串。
继续

相关文档

开始使用

Orbit 账户的组织方式、控制台各处的功能,以及从登录到让我们的网络开始应答一个域名的最短路径。

DNS 托管

建区、把注册商的 NS 指向我们、管理记录。含加权应答、带健康检查的记录、顶点 ALIAS 与区文件导入。

接入主机名

整域委派、单主机名委派,或加一条 CNAME 而完全不动现有 DNS。三者各自的代价与适用场景。

← 全部文档