跳转到主要内容

概述

带 admin 前缀的接口需要主持人(.host)或联席主持人(.coHost)身份,普通成员调用会收到服务端返回的权限错误。调用前先判断:
管控动作生效后,所有成员都会收到对应的房间 / 成员状态事件,你不需要在发起方本地手动改状态,统一在事件里刷新即可。

房间级管控

全体静音的两个开关

micDisabled 和 selfUnmuteMicDisabled 含义不同,一起决定成员的体验:
开启「全体静音」时,非主持人成员的麦克风会被自动关闭。之后成员能否自己重新开麦,取决于 selfUnmuteMicDisabled。摄像头是同一套规则。

结束会议

所有成员会被断开,成员端通过 meeting(_:didDisconnect:) 感知。发起方自己也需要把界面退回会议外。

成员管理

对应的成员状态事件:userNameDidChange、userRoleDidChange、userChatDisabledDidChange、userDrawDisabledDidChange(1.3.6 起)。被移出的成员通过 didDisconnect 感知。 转移主持人时,所有成员先收到两次 userRoleDidChange(新主持人 .host、原主持人 .member),再收到 roomHostDidMove(1.5.0 起)。原主持人的降级由 SDK 在本地完成,事件发出时 getUsersInfoList() 已是新角色:
只需要刷新角色展示的话,处理 userRoleDidChange 就够了。 涂鸦权限的当前状态读 MeetingUserInfo.drawDisabled,变化时收到:
关闭成员麦克风 / 摄像头,以及邀请成员开启,见 举手与开启请求。

修改自己的会中昵称

这个动作不需要主持人身份:

参会人员维护

修改受邀人员名单

查询谁还没进来

返回 [NoEnterUserInfo],含昵称、手机号、头像、角色等信息。

提醒入会

useSms 为 true 时同时发短信提醒。

会中呼叫

被呼叫方如果已经启用了会议外消息,会收到 imCallCalling 事件,见 会议外消息。

在线人员列表

主持人身处分组小组时,编辑分组成员要拉的是主会场的在线成员,用带 meetingId 的重载并传 RoomInfo.parent,见 分组讨论。

邀请设备入会

会议支持把 SIP、H.323、GB28181、RTSP / RTMP 拉流、文件播放等外部设备拉进会议。 先查可用设备:
再发起邀请:
AgentType 可选值见 类型定义。设备当前在线状态读 AgentInfo.status(.unknown / .online / .offline,见 AgentStatus)。
1.5.0 起 AgentStatus 的取值改为与服务端一致:0 未知、1 在线、2 离线(此前为 1 空闲、2 忙碌、3 离线)。idle / busy 仍可编译,但已废弃,分别等于 .online / .offline。按 rawValue 做数值比较的代码需要检查。

邀请 GB28181 设备

GB28181 设备要按「设备编号:通道编号」逐个通道邀请,直接传 contact 会被服务端拒绝。通道表在 AgentInfo.connSubjects({通道编号: 通道名},1.5.0 起):
后端下发的完整连接参数在 AgentInfo.connParams([String: AnyCodable]?),SDK 原样透传。

相关页面