发起共享
ShareType 有两种:screen(屏幕)与 whiteBoard(白板)。
在 module.json5 里要声明权限:
会控可能禁止共享
adminUpdateRoomShareState(true) 会禁止所有人共享,
变化走 onRoomShareStateChange。按它禁用按钮,别等调用失败。
主持人还能强制停止当前正在进行的共享:
onRoomShareStop,其中 byAdmin 为 true、opUid 是操作者 ——
可以据此提示”你的共享已被主持人停止”。
订阅别人的共享
MeetingUserInfo.trackDescs 里有 screen 就说明这个人在共享 ——
进会时用它初始化(可能有人在你进会之前就开始共享了),之后靠事件更新。只依赖 onRoomShareStart 会漏掉这种情况。RoomInfo.shareUid / RoomInfo.shareState 读当前共享状态。
白板
ShareType.whiteBoard 走的是同一套发起流程,但内容不是视频流 ——
白板地址从 meeting.getWhiteBoard() 取,用 Web 组件加载。
白板与屏幕共享互斥(同一时刻只能有一个共享)。切换前要先
stopShare()。共享时的布局
共享开始后通常要把画面切到大窗。如果用 MCU 合流,可以让某个格位绑定共享:系统音频
会议 SDK 的requestShare 目前不带系统音频参数。需要连系统声音一起共享时,
走底层 SRTC 的接口:
excludesCurrentProcessAudio 防回环等)见
SRTC 屏幕共享。