通过小鱼开发平台可实现全面的会议控制管理功能,对会议的控制管理操作将通过事件回调的方式通知终端;
常用功能有:踢人、静音操作、强制静音、举手发言、字幕消息、焦点画面、对话模式、等候室、闭音、轮询多画面、签到、开启/关闭摄像头、设置联席主持人;
终端收到会控消息后可根据业务场景进行相应处理。
常见会控实现方法如下:
通过监听 meeting-control 回调事件,可以获取麦克风静音/非静音、是否强制静音、主会场设备、对话模式等状态和信息,其中可能包括对当前设备进行强制静音、静音、举手、允许发言、取消举手等操作。
通过监听 cancel-handup 回调事件,可以获取会控是否操作了清除举手的操作。
通过监听 onhold 回调事件,可以获取当前会议是否开启了等候室、呼叫等待状态。开启等候室后,当前参会者无法接收或发送音视频流,可以理解是将其拉入到小黑屋中。需要等待主持人移除等候室之后才可恢复到会议中进行互动。
通过监听 sub-title 回调事件,可以获取会控滚动字幕消息。
通过监听 notification 回调事件,获取会控联席主持人/主持人/改名权限变更。
通过监听 meeting-control-video 回调事件,获取会控申请开启参会者摄像头消息。
通过监听 interactiveToolInfo 回调事件,获取会控发起签到消息。
通过监听 focus-view 回调事件,获取会控设置焦点画面消息。设置完成后,需要将被设置的参会者画面在演讲者布局中的大屏中固定显示;
此处将列出简单的使用方式,详细调用方式可以参见 示例程序 Demo 中的用法。
// 会控回调消息
XYRTCClient.on("meeting-control", (e: IMeetingControl) => {
const { disableMute, muteOperation, chairmanUri = "" } = e;
console.log("主会场设备:", chairmanUri);
if (muteOperation === "muteAudio" && disableMute) {
message.info("主持人已强制静音,如需发言,请点击“举手发言”");
} else if (muteOperation === "muteAudio" && !disableMute) {
message.info("您已被主持人静音");
} else if (muteOperation === "unmuteAudio" && disableMute) {
message.info("主持人已允许您发言");
} else if (muteOperation === "unmuteAudio" && !disableMute) {
message.info("您已被主持人取消静音");
}
});
// 等候室、呼叫等待回调消息
XYRTCClient.on("onhold", (e: boolean) => {
// 为 true 代表开启呼叫等待功能,为 false 代表关闭呼叫等待功能
});
// 字幕、点名消息
XYRTCClient.on("sub-title", (e: ISubTitleContent) => {});
// 清除举手
XYRTCClient.on("cancel-handup", (e: boolean) => {});
回调参数: