跳转到主要内容
本页接口都挂在 SMeetingEngine 上。

错误约定

本页接口的抛错遵循两条统一规则,后文不再逐条重复: 服务端拒绝时统一抛出 SMeetingError.apiError(code:message:),其中 code 与 message 来自服务端。带 admin 前缀的接口需要主持人(.host)或联席主持人(.coHost)身份,普通成员调用会以 apiError 的形式返回权限错误。 有返回值的接口在服务端返回数据无法解析时会抛出解码错误。

房间管控

以下接口都需要在会议中,返回值均为无。

adminDestroyRoom()

结束整场会议,所有成员被断开。

adminUpdateRoomMicState(selfUnmuteMicDisabled:micDisabled:)

设置房间全体静音。

adminUpdateRoomCameraState(selfUnmuteCameraDisabled:cameraDisabled:)

设置房间全体禁画。

adminUpdateRoomShareState(shareDisabled:)

adminUpdateRoomChatDisabled(_:)

adminUpdateRoomScreenshotDisabled(_:)

adminUpdateRoomWatermarkDisabled(_:)

adminUpdateRoomLocked(_:)

adminUpdateEnterBeforeHostDisabled(_:)

adminStopRoomShare()

强制结束当前正在进行的共享。

成员管理

以下接口都需要在会议中,返回值均为无。

adminUpdateUserName(targetId:nickname:)

adminUpdateUserRole(targetId:role:)

adminUpdateUserChatDisabled(targetId:chatDisabled:)

adminUpdateUserDrawDisabled(targetId:drawDisable:)

当前状态读 MeetingUserInfo.drawDisabled,变化时所有成员收到 meeting(_:userDrawDisabledDidChange:)(1.3.6 起提供)。

adminMoveHost(targetId:)

转移主持人身份。 所有成员先收到新、原主持人各一次 meeting(_:userRoleDidChange:)(.host / .member),再收到 meeting(_:roomHostDidMove:)(RoomHostMoveEventData,1.5.0 起提供)。

adminRequestUserOpenMic(targetId:) / adminRequestUserOpenCamera(targetId:)

邀请成员开麦 / 开摄像头。

adminCloseUserMic(targetId:) / adminCloseUserCamera(targetId:)

直接关闭成员的麦克风 / 摄像头。

adminKickUserOut(targetId:joinDisabled:)

adminConfirmHandup(targetId:approve:code:)

审批举手申请。

参会人员与设备

adminUpdateConferee(meetingId:conferee:)

修改受邀人员名单。需要已登录。 返回值: 无

adminCallUsers(conferee:)

会中呼叫人员。需要在会议中。 返回值: 无

meetNotEnter()

查询尚未进入会议的受邀人员。需要在会议中。 返回值: [NoEnterUserInfo]

adminMeetRemind(uids:useSms:)

提醒入会。需要在会议中。 返回值: 无

adminListOnlineMember(page:perPage:)

当前所在会议的在线人员列表。需要在会议中。 返回值: PageResult<OnlineMemberInfo>

adminListOnlineMember(meetingId:page:perPage:)

指定会议的在线人员列表。需要已登录。 1.5.0 起提供。 主持人身处分组小组时,编辑分组成员要拉主会场的在线成员,meetingId 传 RoomInfo.parent。 返回值: PageResult<OnlineMemberInfo>

agentList(type:name:page:perPage:)

可邀请的设备列表。需要已登录。 返回值: PageResult<AgentInfo> AgentInfo.status 的取值 1.5.0 起改为 0 未知 / 1 在线 / 2 离线,见 AgentStatus。GB28181 设备的通道表在 AgentInfo.connSubjects。

adminInviteAgent(agents:no:)

邀请设备入会。需要已登录。 返回值: 无

等候室

adminUpdateWaitingRoomDisabled(_:)

需要在会议中。 返回值: 无

adminWaitingRoomUsers()

需要在会议中。 返回值: [WaitingRoomUserInfo]

adminMoveInWaitingRoom(userId:nickname:)

把会议中的成员移回等候室。需要在会议中。 返回值: 无

adminMoveOutWaitingRoom(userId:nickname:)

把等候室成员放进会议。两个参数都不传表示全部放行。需要在会议中。 返回值: 无

exitWaitingRoom(meetingId:roomNo:)

成员主动离开等候室,两个参数二选一。需要已登录。 返回值: 无

分组讨论

以下接口除 userHelpSubMeeting() 外都只要求已登录。

adminCreateSubMeeting(mainMeetingId:titles:)

返回值: 无

adminSubMeetingList(mainMeetingId:)

返回值: [SubMeetingInfo]

adminUpdateSubMeetingTitle(id:title:)

返回值: 无

adminUpdateSubMeetingUsers(id:users:)

返回值: 无

adminDeleteSubMeeting(ids:)

返回值: 无

adminStartSubMeeting(ids:) / adminStopSubMeeting(ids:)

返回值: 无

adminMoveSubMeetingUser(fromId:toId:userId:)

返回值: 无

userHelpSubMeeting()

小组内成员向主会场求助。需要在会议中。 返回值: 无

布局与录制

adminUpdateLayout(_:)

修改合成会议的布局。需要在会议中。 返回值: 无

mcuStart(meetingId:req:)

开始录制 / 合流任务。需要已登录。 返回值: 无

mcuStop(meetingId:taskType:)

需要已登录。 返回值: 无

mcuRecordConfig()

需要已登录。 返回值: McuRecordConfig

mcuRecordDetail(meetingId:)

需要已登录。 返回值: McuRecordDetail

资源

以下接口都只要求已登录。

presignedPutObject(type:meetingId:ext:)

获取上传地址。 返回值: (url: String, key: String, ext: String)

presignedGetObject(id:resKey:)

获取下载地址,两个参数二选一。 返回值: String(带签名的下载地址)

resourcesList(req:)

返回值: PageResult<ResourceInfo>

resourcesCreate(req:)

登记一条资源。 返回值: 无

签到

以下接口都需要在会议中,作用对象是当前会议。

signInCreate(dur:desc:)

发起一轮签到。 返回值: 无

signInFinish()

提前结束当前这一轮签到。 返回值: 无

signInSign()

成员签到。 返回值: 无

signInList()

返回值: (list: [SignInfo]?, now: Int),now 是服务端当前时间

signInCount(epoch:)

返回值: Int(已签到人数)

signInDetail(epoch:nickname:)

返回值: [SignDetailInfo]

signInExportDetail(epoch:destination:)

导出某一轮的签到详情(Excel 文件)并写到本地。1.5.0 起提供。
返回值: URL,实际写入的文件地址(@discardableResult) 可能抛出: SMeetingError.notInMeeting、SMeetingError.apiError(code:message:)、SMeetingError.httpError(status:message:)、SMeetingError.responseParseFailed(_:)(后端没有返回文件)、SMeetingError.internalError(_:)(写文件失败)

相关页面