差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
rtc:conference:web [2020/07/22 09:27] lizg [房间内动作消息] |
rtc:conference:web [2020/07/29 04:00] suqx [共享桌面] |
||
---|---|---|---|
行 387: | 行 387: | ||
===== 共享桌面 ===== | ===== 共享桌面 ===== | ||
- | 共享桌面,仅支持PC Chrome浏览器或electron平台。 | + | 仅支持PC Chrome浏览器或electron平台 |
+ | ==== SDK 3.2.1 版本 文档 ==== | ||
+ | === 1.无插件共享 === | ||
+ | 需要 SDK 3.2.1 版本开始支持,并且 Chrome 72 或以上版本。 | ||
+ | <code javascript> | ||
+ | const screenStream = await emedia.mgr.shareDesktopWithAudio({ | ||
+ | confrId: confrId, // 会议ID, 必须 | ||
+ | audio: false, | ||
+ | }); | ||
+ | </code> | ||
+ | |||
+ | === 2.有插件共享 === | ||
+ | |||
+ | <code javascript> | ||
+ | //在 sdk 内部会自动判断,浏览器是否含有 navigator.mediaDevices.getDisplayMedia API, | ||
+ | //如果没有,将会跳转至 使用 插件的 API,如果没有安装插件将给出提示 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === 3.分享音频 === | ||
+ | <code javascript> | ||
+ | //1. 版本起支持在 Windows 平台的 Chrome 浏览器 74 及以上版本同时共享屏幕和本地播放的背景音, | ||
+ | //2. 将 audio 设置为 true 即可 | ||
+ | </code> | ||
+ | |||
+ | === 4.Electron 屏幕共享 === | ||
+ | |||
+ | <code javascript> | ||
+ | //1. sdk 内部会判断是否是在 electron 平台内 | ||
+ | //2. electron 平台 会默认选择 第一个屏幕 | ||
+ | //3. 如果需要自定义选择框,请重新定义 emedia.chooseElectronDesktopMedia 方法 | ||
+ | emedia.chooseElectronDesktopMedia = function(sources, accessApproved, accessDenied){ | ||
+ | sources // Array 获取到的屏幕列表 | ||
+ | accessApproved(source)// 选中的 source 对象,进行分享 | ||
+ | accessDenied()// 取消分享,关闭自定义框需要调用此方法 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | === 5. 停止共享桌面 === | ||
+ | |||
+ | <code javascript> | ||
+ | 停止共享桌面,执行 取消流的发布 emedia.mgr.unpublish(screenStream) | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== SDK 3.2.1 之前版本 文档 ==== | ||
<code javascript> | <code javascript> | ||
/** | /** | ||
行 884: | 行 929: | ||
==== 合流推流 CDN ==== | ==== 合流推流 CDN ==== | ||
=== 1.创建CDN === | === 1.创建CDN === | ||
- | <code javascript> | + | 可以通过单独API创建 CDN 、也可以在创建会议、加入房间时指定推流CDN |
- | // 创建会议、加入房间时都可以创建CDN | + | |
- | // 添加一个 liveCfg 参数 | + | **CDN推流参数 liveCfg 必需** |
- | liveCfg = { | + | <code javascript> |
+ | let liveCfg = { | ||
cdn:'', //推流地址、字符串;必需 | cdn:'', //推流地址、字符串;必需 | ||
layoutStyle: 'GRID' | 'CUSTOM', // 格子显示 | 自定义,必需 | layoutStyle: 'GRID' | 'CUSTOM', // 格子显示 | 自定义,必需 | ||
行 900: | 行 945: | ||
} | } | ||
} | } | ||
+ | </code> | ||
- | //创建会议时指定 CDN推流 | + | **1.1通过单独API创建 CDN(可多路推流)** |
+ | <code javascript> | ||
+ | |||
+ | // confrId: 会议id, 必需 | ||
+ | // liveCfg: cdn 配置,必需 | ||
+ | // 只有管理员,可创建 CDN | ||
+ | emedia.mgr.addLive(confrId, liveCfg); | ||
+ | |||
+ | </code> | ||
+ | |||
+ | **1.2创建会议时指定 CDN推流** | ||
+ | |||
+ | <code javascript> | ||
let option = { | let option = { | ||
confrType, | confrType, | ||
行 909: | 行 967: | ||
} | } | ||
emedia.mgr.createConference(option) | emedia.mgr.createConference(option) | ||
+ | </code> | ||
- | // 加入房间时 指定CDN推 | + | |
+ | |||
+ | **1.3加入房间时 指定CDN推** | ||
+ | |||
+ | <code javascript> | ||
// 只有第一个加入房间的人才能创建 CDN、以后加入的人指定CDN也无效 | // 只有第一个加入房间的人才能创建 CDN、以后加入的人指定CDN也无效 | ||
let params = { | let params = { | ||
行 923: | 行 986: | ||
emedia.mgr.joinRoom(params); | emedia.mgr.joinRoom(params); | ||
</code> | </code> | ||
+ | |||
=== 2.更新CDN布局 === | === 2.更新CDN布局 === | ||
<code javascript> | <code javascript> | ||
// 只有管理员才能 更新布局。更新布局会 将layoutStyle 变为 CUSTOM 而且不可逆 | // 只有管理员才能 更新布局。更新布局会 将layoutStyle 变为 CUSTOM 而且不可逆 | ||
+ | emedia.mgr.updateLiveLayout(confrId, liveId, regions) | ||
- | emedia.mgr.updateLiveLayout(confrId, regions) | + | // confrId 会议id 必需 |
+ | // liveId 推流CDN id, 必需 可通过 emedia.config.liveCfgs 获取 Array | ||
- | // confrId 会议id | ||
regions:[ // 希望定义视频流 显示的配置集合 | regions:[ // 希望定义视频流 显示的配置集合 | ||
{ | { | ||
行 945: | 行 1010: | ||
<code javascript> | <code javascript> | ||
// 只有管理员可操作 | // 只有管理员可操作 | ||
- | emedia.mgr.deleteLive(confrId) //confrId 会议id | + | //confrId 会议id 必需 |
+ | // liveId 推流CDN id, 必需 可通过 emedia.config.liveCfgs 获取 Array | ||
+ | emedia.mgr.deleteLive(confrId, liveId) | ||
</code> | </code> |