Skip to main content
MeetingKitRoom represents an independent meeting room and is created by -[MeetingKit createRoomWithDelegate:]. Each instance holds its own room context (room number, meeting ID, member cache, media connection). The same account can create and enter multiple rooms at the same time, and the media and business state of each room are independent of each other. Account-level and device-level capabilities such as login, IM, meeting queries and scheduling, local camera capture and preview, audio routing, and process-side screen capture integration are provided centrally by the MeetingKit singleton and aren’t duplicated on room instances.
A room instance becomes invalid after exitRoom: is called. To enter the meeting again, create a new instance with createRoomWithDelegate:.

Room properties

delegate

id<MeetingKitRoomDelegate> delegate Room event delegate. For details, see MeetingKitRoomDelegate.

rtcChannel

RTCEngineChannel *rtcChannel (read-only) The RTC channel instance for this room. For details, see RTCEngineChannel.

roomNo

NSString *roomNo (read-only) Current room number; empty before you enter the meeting.

meetingId

NSString *meetingId (read-only) Current meeting ID; empty before you enter the meeting.

joined

BOOL joined (read-only, getter=isJoined) Whether you’ve entered the room.

Enter and exit APIs

enterRoom:onSuccess:onFailed:()

- (void)enterRoom:(SEAMeetingEnterParam *)params onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Enters the room. After you enter the room, the SDK notifies users in the room through the meetingRoom:onUserEnter:() callback in MeetingKitRoomDelegate.

exitRoom:()

- (void)exitRoom:(nullable SEASuccessBlock)onSuccess Exits the room. After you exit the room, the SDK notifies users in the room through the meetingRoom:onUserExit:() callback in MeetingKitRoomDelegate.

Call APIs

callUser:onSuccess:onFailed:()

- (void)callUser:(NSArray <NSString *> *)userIdLists onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Starts a call. During the meeting, the host can call members with this API. After a member is called, the SDK notifies that user through the onCallReceived:nickname:roomNo:title:() callback in MeetingKitIMDelegate.

User APIs

updateName:onSuccess:onFailed:()

- (void)updateName:(NSString *)username onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates your own nickname. After the user updates their nickname, the SDK notifies users in the room through the meetingRoom:onUserNameChanged:nickname:() callback in MeetingKitRoomDelegate.

requestOpenCamera:view:onSuccess:onFailed:()

- (void)requestOpenCamera:(BOOL)frontCamera view:(VIEW_CLASS *)view onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Requests to turn on the camera. After you turn on the local camera in the room, the local video stream is published by default, and the SDK notifies users in the room through the meetingRoom:onUserCameraStateChanged:cameraState:reason:() callback in MeetingKitRoomDelegate.

requestOpenMic:onFailed:()

- (void)requestOpenMic:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Requests to turn on the microphone. After you turn on the local microphone in the room, the SDK notifies users in the room through the meetingRoom:onUserMicStateChanged:micState:reason:() callback in MeetingKitRoomDelegate.

closeCamera:onFailed:()

- (void)closeCamera:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Turns off the camera. After you turn off the local camera in the room, the SDK notifies users in the room through the meetingRoom:onUserCameraStateChanged:cameraState:reason:() callback in MeetingKitRoomDelegate.

closeMic:onFailed:()

- (void)closeMic:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Turns off the microphone. After you turn off the local microphone in the room, the SDK notifies users in the room through the meetingRoom:onUserMicStateChanged:micState:reason:() callback in MeetingKitRoomDelegate.

requestShare:onSuccess:onFailed:()

- (void)requestShare:(SEAShareType)shareType onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Requests to start sharing. After sharing starts, the SDK notifies users in the room through the meetingRoom:onRoomShareStart:shareType:() callback in MeetingKitRoomDelegate.

stopShare:onFailed:()

- (void)stopShare:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Stops sharing. After sharing stops, the SDK notifies users in the room through the meetingRoom:onRoomShareStop:shareType:() callback in MeetingKitRoomDelegate.

sendRoomChatMessage:messageType:targetId:onSuccess:onFailed:()

- (void)sendRoomChatMessage:(NSString *)message messageType:(SEAMessageType)messageType targetId:(nullable NSString *)targetId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Sends a chat message. After the chat message is sent, the SDK notifies users in the room through the meetingRoom:onReceiveChatMessage:message:messageType:() callback in MeetingKitRoomDelegate.

sendRoomCustomMessage:targetId:onSuccess:onFailed:()

- (void)sendRoomCustomMessage:(NSString *)message targetId:(nullable NSString *)targetId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Sends a custom message. After the custom message is sent, the SDK notifies users in the room through the meetingRoom:onReceiveChatMessage:message:messageType:() callback in MeetingKitRoomDelegate.

getChatList:onFailed:()

- (void)getChatList:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets the chat list.

getMoreChatList:onFailed:()

- (void)getMoreChatList:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets more of the chat list (next page).

requestHandup:onSuccess:onFailed:()

- (void)requestHandup:(SEAHandupType)handupType onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Raises a hand. After you raise your hand, the SDK notifies the room’s host and co-hosts through the meetingRoom:onRoomHandUpChanged:enable:handupType:() callback in MeetingKitRoomDelegate.

cancelHandup:onSuccess:onFailed:()

- (void)cancelHandup:(SEAHandupType)handupType onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Lowers a raised hand. After you lower your hand, the SDK notifies the room’s host and co-hosts through the meetingRoom:onRoomHandUpChanged:enable:handupType:() callback in MeetingKitRoomDelegate.

confirmAdminOpenCamera:frontCamera:view:onSuccess:onFailed:()

- (void)confirmAdminOpenCamera:(NSString *)targetId frontCamera:(BOOL)frontCamera view:(VIEW_CLASS *)view onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Replies to accept a request to turn on the camera. When the host or a co-host invites you to turn on your camera and you agree, call this API to reply to that host or co-host. Likewise, after you raise your hand and receive the host’s or co-host’s decision, if you need to turn on your camera, call this API to reply to them. After you accept the camera request, the SDK notifies the room’s host and co-hosts through the meetingRoom:onUserCameraStateChanged:cameraState:reason:() callback in MeetingKitRoomDelegate.

confirmAdminOpenMic:onSuccess:onFailed:()

- (void)confirmAdminOpenMic:(NSString *)targetId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Replies to accept a request to turn on the microphone. When the host or a co-host invites you to turn on your microphone and you agree, call this API to reply to that host or co-host. Likewise, after you raise your hand and receive the host’s or co-host’s decision, if you need to turn on your microphone, call this API to reply to them. After you accept the microphone request, the SDK notifies the room’s host and co-hosts through the meetingRoom:onUserMicStateChanged:micState:reason:() callback in MeetingKitRoomDelegate.

confirmAdminRoomShare:shareType:onSuccess:onFailed:()

- (void)confirmAdminRoomShare:(NSString *)targetId shareType:(SEAShareType)shareType onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Replies to accept a request to start sharing in the room. When the host or a co-host invites you to start sharing and you agree, call this API to reply to that host or co-host. Likewise, after you raise your hand and receive the host’s or co-host’s decision, if you need to start sharing, call this API to reply to them. After you accept the sharing request, the SDK notifies the room’s host and co-hosts through the meetingRoom:onRoomShareStart:shareType:() callback in MeetingKitRoomDelegate.

Audio control APIs

switchSpeaker:()

- (void)switchSpeaker:(BOOL)enabled Sets the remote audio playback state. Use this API to turn remote audio playback on or off. It doesn’t switch between the speaker, the earpiece, or external device routes.

enabledAudioModule:()

- (void)enabledAudioModule:(BOOL)enabled Starts or stops the local audio unit. Supported since 1.3.6. In purely local playback scenarios where this device neither captures nor receives RTC audio, such as playing back a recording or live stream, turning off the audio unit releases the underlying voice processing unit and keeps the local player’s volume from being lowered; when you leave such a scenario, restore it to automatic management. The SDK resets it to automatic management every time you enter a room.

enabledSendAudio:()

- (RTCEngineError)enabledSendAudio:(BOOL)enabled Pauses or resumes publishing local audio to this room. Supported since 2.0.0. When you’re in multiple rooms, pausing audio sending in one room doesn’t affect the others.

Video rendering APIs

publishLocalVideo:()

- (RTCEngineError)publishLocalVideo:(BOOL)publish Pauses or resumes publishing local video to this room. Supported since 2.0.0. On iOS, the camera is a single shared piece of hardware: capture and preview are controlled by the MeetingKit singleton, and each instance independently controls whether that video is published to its room. When you’re in multiple rooms, pausing publishing in one room doesn’t affect the others.

startRemoteView:streamType:view:()

- (void)startRemoteView:(NSString *)userId streamType:(SEAVideoStreamType)streamType view:(VIEW_CLASS *)view Starts playing a remote user’s video. Starts playing a remote user’s video and binds the video rendering resources.

stopRemoteView:streamType:()

- (void)stopRemoteView:(NSString *)userId streamType:(SEAVideoStreamType)streamType Stops playing a remote user’s video. Stops playing a remote user’s video and releases the video rendering resources.

stopAllRemoteViewWithUserId:()

- (void)stopAllRemoteViewWithUserId:(NSString *)userId Stops playing all video of a remote user. Stops playing all of a remote user’s video and releases all rendering resources.

startRemoteMixture:()

- (void)startRemoteMixture:(VIEW_CLASS *)view Subscribes to the remote composite video stream. Subscribes to the remote composite video stream and binds the video rendering view.

stopRemoteMixture()

- (void)stopRemoteMixture Stops subscribing to the remote composite video stream. Stops subscribing to the remote composite video stream and releases the rendering view.

startRemoteRetweet:view:()

- (void)startRemoteRetweet:(NSString *)streamName view:(VIEW_CLASS *)view Subscribes to a remote re-streamed audio and video stream (pulled over WebRTC). Subscribes to the remote re-streamed audio and video stream whose stream name you pass in; a single connection receives both audio and video, and the video rendering view is bound. The re-streamed stream isn’t reported as remote user video data; its receive status is reported separately through onReceiveRetweetStreamStatusChange:status:. Currently only the wangsu streaming vendor is supported.

stopRemoteRetweet:()

- (void)stopRemoteRetweet:(NSString *)streamName Stops subscribing to a remote re-streamed audio and video stream. Stops subscribing to the remote re-streamed audio and video stream with the specified name and releases the rendering view.

Screen sharing APIs

stopScreenRecord()

- (void)stopScreenRecord Stops screen capture from the host app. Use this method in the host app when the user actively stops screen sharing. Starting with 2.0.1, this API stops this room’s sharing stream and also ends the current system screen recording (disconnecting the extension). The capture service keeps listening during the meeting, so the user can start screen recording again from the system panel. After screen capture is turned off, the SDK notifies you of the current device capture status through the meetingRoom:onScreenRecordStatus:() callback in MeetingKitRoomDelegate. Based on the status in the callback, choose whether to request to start sharing or to stop sharing.

publishScreenViewCaptureWithPixelBuffer:displayAngle:()

- (void)publishScreenViewCaptureWithPixelBuffer:(CVPixelBufferRef)pixelBuffer displayAngle:(int)displayAngle Publishes a view capture sharing stream; that is, you can use this API to feed video data into the track shared with screen sharing. Parameters

enabledViewCaptureShare:()

- (RTCEngineError)enabledViewCaptureShare:(BOOL)enabled Sets view capture sharing. This API tells the SDK whether the current screen sharing track is publishing a screen capture stream or a view capture stream; call it to mark the SDK before calling publishScreenViewCaptureWithPixelBuffer:displayAngle:(). Parameters

Host APIs

adminDestroyRoom:onFailed:()

- (void)adminDestroyRoom:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Ends the meeting and dissolves the room (host or co-host only). After the room ends, the SDK notifies users in the room through the meetingRoom:onExitRoom:() callback in MeetingKitRoomDelegate.

adminUpdateRoomCameraState:selfUnmuteCameraDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomCameraState:(BOOL)cameraDisabled selfUnmuteCameraDisabled:(BOOL)selfUnmuteCameraDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates camera off for everyone in the room, which controls whether all users in the current room are allowed to turn on their camera capture devices (host or co-host only). After camera off for everyone is updated, the SDK notifies users in the room through the meetingRoom:onRoomCameraStateChanged:selfUnmuteCameraDisabled:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomMicState:selfUnmuteMicDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomMicState:(BOOL)micDisabled selfUnmuteMicDisabled:(BOOL)selfUnmuteMicDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates mute all in the room, which controls whether all users in the current room are allowed to turn on their microphone capture devices (host or co-host only). After mute all is updated, the SDK notifies users in the room through the meetingRoom:onRoomMicStateChanged:selfUnmuteMicDisabled:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomSelfUnmuteCameraDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomSelfUnmuteCameraDisabled:(BOOL)selfUnmuteCameraDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates whether members in the room are prevented from turning their cameras back on themselves, which controls whether all users in the current room can turn on their camera capture devices on their own. After this is updated, the SDK notifies users in the room through the meetingRoom:onRoomCameraStateChanged:selfUnmuteCameraDisabled:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomSelfUnmuteMicDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomSelfUnmuteMicDisabled:(BOOL)selfUnmuteMicDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates whether members in the room are prevented from unmuting themselves, which controls whether all users in the current room can turn on their microphone capture devices on their own. After this is updated, the SDK notifies users in the room through the meetingRoom:onRoomMicStateChanged:selfUnmuteMicDisabled:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomChatDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomChatDisabled:(BOOL)chatDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s chat disabled state, which controls whether all users in the current room are allowed to chat (host or co-host only). After the room’s chat disabled state is updated, the SDK notifies users in the room through the meetingRoom:onRoomChatDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomShareDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomShareDisabled:(BOOL)shareDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s sharing disabled state, which controls whether all users in the current room are allowed to share (host or co-host only). After the room’s sharing disabled state is updated, the SDK notifies users in the room through the meetingRoom:onRoomShareDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomScreenshotDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomScreenshotDisabled:(BOOL)screenshotDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s screenshot permission, which controls whether all users in the current room are allowed to take screenshots (host or co-host only). After the room’s screenshot permission is updated, the SDK notifies users in the room through the meetingRoom:onRoomScreenshotDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomWatermarkDisabled:onSuccess:onFailed:()

- (void)adminUpdateRoomWatermarkDisabled:(BOOL)watermarkDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s watermark switch, which controls whether the watermark is on in the current room (host or co-host only). After the room’s watermark switch is updated, the SDK notifies users in the room through the meetingRoom:onRoomWatermarkDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateRoomLocked:onSuccess:onFailed:()

- (void)adminUpdateRoomLocked:(BOOL)locked onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s locked state, which controls whether the current room is locked (host or co-host only). After the room’s locked state is updated, the SDK notifies users in the room through the meetingRoom:onRoomLockedChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateNickname:nickname:onSuccess:onFailed:()

- (void)adminUpdateNickname:(NSString *)userId nickname:(NSString *)nickname onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates a user’s nickname (host or co-host only). After the user’s nickname is updated, the SDK notifies users in the room through the meetingRoom:onUserNameChanged:nickname:() callback in MeetingKitRoomDelegate.

adminUpdateUserRole:userRole:onSuccess:onFailed:()

- (void)adminUpdateUserRole:(NSString *)userId userRole:(SEAUserRole)userRole onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates a user’s role (host or co-host only). After the user’s role is updated, the SDK notifies users in the room through the meetingRoom:onUserRoleChanged:userRole:() callback in MeetingKitRoomDelegate.

adminMoveHost:onSuccess:onFailed:()

- (void)adminMoveHost:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Transfers the host role (host or co-host only). After the host is transferred, the SDK notifies users in the room through the meetingRoom:onRoomMoveHost:sourceUserId:() callback in MeetingKitRoomDelegate.

adminUpdateUserChatDisabled:chatDisabled:onSuccess:onFailed:()

- (void)adminUpdateUserChatDisabled:(NSString *)userId chatDisabled:(BOOL)chatDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host updates a user’s chat state (host or co-host only). After the host updates the user’s chat state, the SDK notifies the target user in the room through the meetingRoom:onUserChatDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminUpdateUserDrawDisabled:drawDisabled:onSuccess:onFailed:()

- (void)adminUpdateUserDrawDisabled:(NSString *)userId drawDisabled:(BOOL)drawDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host updates a user’s drawing permission (host or co-host only). After the host updates the user’s drawing permission, the SDK notifies the target user in the room through the meetingRoom:onUserDrawDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminRequestUserOpenShare:onSuccess:onFailed:()

- (void)adminRequestUserOpenShare:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Asks a member to start screen sharing (host or co-host only). After the request is sent, the SDK notifies the specified user in the room through the meetingRoom:onRequestOpenShare:() callback in MeetingKitRoomDelegate.

adminRequestUserOpenCamera:onSuccess:onFailed:()

- (void)adminRequestUserOpenCamera:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Asks a member to turn on their camera (host or co-host only). After the request is sent, the SDK notifies the specified user in the room through the meetingRoom:onRequestOpenCamera:() callback in MeetingKitRoomDelegate.

adminCloseUserCamera:onSuccess:onFailed:()

- (void)adminCloseUserCamera:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Turns off a remote user’s camera (host or co-host only). After the remote user’s camera is turned off, the SDK notifies users in the room through the meetingRoom:onUserCameraStateChanged:cameraState:reason:() callback in MeetingKitRoomDelegate.

adminRequestUserOpenMic:onSuccess:onFailed:()

- (void)adminRequestUserOpenMic:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Asks a member to turn on their microphone (host or co-host only). After the request is sent, the SDK notifies the specified user in the room through the meetingRoom:onRequestOpenMic:() callback in MeetingKitRoomDelegate.

adminCloseUserMic:onSuccess:onFailed:()

- (void)adminCloseUserMic:(NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Turns off a remote user’s microphone (host or co-host only). After the remote user’s microphone is turned off, the SDK notifies users in the room through the meetingRoom:onUserMicStateChanged:micState:reason:() callback in MeetingKitRoomDelegate.

adminKickUserOut:joinDisabled:onSuccess:onFailed:()

- (void)adminKickUserOut:(NSString *)userId joinDisabled:(BOOL)joinDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Removes a member (host or co-host only). After the member is removed, the SDK notifies the specified user in the room through the meetingRoom:onExitRoom:() callback in MeetingKitRoomDelegate.

adminStopRoomShare:onFailed:()

- (void)adminStopRoomShare:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Stops sharing (host or co-host only). After sharing stops, the SDK notifies users in the room through the meetingRoom:onAdminRoomShareStop:shareType:() callback in MeetingKitRoomDelegate.

adminConfirmHandup:handupType:approve:onSuccess:onFailed:()

- (void)adminConfirmHandup:(NSString *)userId handupType:(SEAHandupType)handupType approve:(BOOL)approve onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Handles a raise-hand request (host or co-host only). After the raise-hand request is handled, the SDK notifies the specified user in the room through the meetingRoom:onHandupConfirm:approve:userId:() callback in MeetingKitRoomDelegate.

adminUpdateConferee:onSuccess:onFailed:()

- (void)adminUpdateConferee:(NSArray <NSString *> *)conferee onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host updates invitees (host or co-host only). After the invitees are updated, the SDK adds the target members to the meeting’s invitee list. The target members can also find the meeting in their list of upcoming meetings.

adminInviteAgent:onSuccess:onFailed:()

- (void)adminInviteAgent:(NSArray <SEAInviteModel *> *)invitesList onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host invites devices to the meeting (host or co-host only). After the devices are invited, the SDK brings the target devices, such as SIP or H.323 devices, into the meeting. If something goes wrong, such as a device already being in another meeting, the SDK reports the specific failure reason through the onFailed callback.

Cloud recording APIs

getCloudRecordDetail:onFailed:()

- (void)getCloudRecordDetail:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets cloud recording details (host or co-host only).

getCloudRecordConfig:onFailed:()

- (void)getCloudRecordConfig:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets the cloud recording configuration (host or co-host only).

startCloudRecord:onSuccess:onFailed:()

- (void)startCloudRecord:(SEACloudRecordParam *)params onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Starts cloud recording (host or co-host only).

stopCloudRecord:onSuccess:onFailed:()

- (void)stopCloudRecord:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Stops cloud recording (host or co-host only).

Waiting room APIs

exitWaitingRoom:onSuccess:()

- (void)exitWaitingRoom:(NSString *)roomNo onSuccess:(nullable SEASuccessBlock)onSuccess Requests to exit the waiting room. After the user exits the waiting room, the SDK notifies the room’s host and co-hosts through the meetingRoom:onRoomUserExitWaitingRoom:nickname:() callback in MeetingKitRoomDelegate.

adminUpdateWaitingRoomDisabled:onSuccess:onFailed:()

- (void)adminUpdateWaitingRoomDisabled:(BOOL)waitingRoomDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates the room’s waiting room disabled state, which controls whether the waiting room is on in the current room (host or co-host only). After the room’s waiting room disabled state is updated, the SDK notifies users in the room through the meetingRoom:onRoomWaitingRoomDisabledChanged:userId:() callback in MeetingKitRoomDelegate.

adminMoveInWaitingRoom:nickname:onSuccess:onFailed:()

- (void)adminMoveInWaitingRoom:(NSString *)userId nickname:(NSString *)nickname onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Moves a meeting member to the waiting room. The host or a co-host can use this API to move an in-meeting member to the waiting room (host or co-host only), and the SDK notifies the target user through the meetingRoom:onRoomMoveInWaitingRoom:() callback in MeetingKitRoomDelegate.

adminMoveOutWaitingRoom:onSuccess:onFailed:()

- (void)adminMoveOutWaitingRoom:(nullable NSString *)userId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Moves people from the waiting room into the meeting. The host or a co-host can use this API to move members currently in the waiting room into the meeting (host or co-host only), and the SDK notifies the target user through the onWaitingRoomMoveInRoom:title:() callback in MeetingKitIMDelegate.

adminGetWaitingRoomUserList:onFailed:()

- (void)adminGetWaitingRoomUserList:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host gets the list of users in the waiting room.

Sub-meeting APIs

subMeetingHelp:onFailed:()

- (void)subMeetingHelp:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed A sub-meeting member asks the host or a co-host for help, and the SDK notifies the host and co-hosts through the onSubMettingAskingHelp:meetingId:title:() callback in MeetingKitIMDelegate.

adminUpdateEnterBeforeHostDisabled:onSuccess:onFailed:()

- (void)adminUpdateEnterBeforeHostDisabled:(BOOL)enterBeforeHostDisabled onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Updates whether entering the meeting before the host is prevented, which controls whether members in the current room can enter the meeting before the host (host or co-host only).

adminCreateSubMeeting:onSuccess:onFailed:()

- (void)adminCreateSubMeeting:(NSArray <NSString *> *)titleList onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed; The host creates sub-meetings.

adminUpdateSubMeetingTitle:targetId:onSuccess:onFailed:()

- (void)adminUpdateSubMeetingTitle:(NSString *)title targetId:(NSString *)targetId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host changes a sub-meeting’s title.

adminUpdateSubMeetingConferee:targetId:onSuccess:onFailed:()

- (void)adminUpdateSubMeetingConferee:(NSArray <SEAConfereeModel *> *)confereeList targetId:(NSString *)targetId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host changes a sub-meeting’s members.

adminDeleteSubMeeting:onSuccess:onFailed:()

- (void)adminDeleteSubMeeting:(NSArray <NSString *> *)targetList onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host deletes sub-meetings.

adminGetSubMeetingList:onSuccess:onFailed:()

- (void)adminGetSubMeetingList:(NSString *)meetingId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed The host requests the sub-meeting list.

adminStartSubMeeting:onSuccess:onFailed:()

- (void)adminStartSubMeeting:(NSArray <NSString *> *)targetList onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Starts sub-meetings. The host or a co-host can use this API to start sub-meetings that have been created (host or co-host only), and the SDK notifies the target users through the meetingRoom:onRoomSubMeetingStart:title:conferee:() callback in MeetingKitRoomDelegate.

adminStopSubMeeting:onSuccess:onFailed:()

- (void)adminStopSubMeeting:(NSArray <NSString *> *)targetList onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Ends sub-meetings. The host or a co-host can use this API to end sub-meetings that have been created (host or co-host only), and the SDK notifies the target users through the meetingRoom:onRoomSubMeetingStop:() callback in MeetingKitRoomDelegate.

adminMoveSubMeetingUser:fromGroupId:toGroupId:onSuccess:onFailed:()

- (void)adminMoveSubMeetingUser:(NSString *)targetId fromGroupId:(NSString *)fromGroupId toGroupId:(nullable NSString *)toGroupId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Moves a user between sub-meetings. The host or a co-host can use this API to move a specified member between sub-meetings and the main meeting (host or co-host only), and the SDK notifies the target user through the meetingRoom:onRoomMoveSubMeeting:fromMeetingTitle:toMeetingId:toMeetingTitle:() callback in MeetingKitRoomDelegate.

getOnlineMemberList:onSuccess:onFailed:()

- (void)getOnlineMemberList:(NSString *)meetingId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets the online member list.

getMoreOnlineMemberList:onSuccess:onFailed:()

- (void)getMoreOnlineMemberList:(NSString *)meetingId onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets more of the online member list (next page).

Sign-in APIs

signInCreate:desc:onSuccess:onFailed:()

- (void)signInCreate:(NSInteger)dur desc:(nullable NSString *)desc onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Creates a sign-in activity. The host or a co-host can use this API to create a sign-in activity (host or co-host only), and the SDK notifies all in-meeting members through the meetingRoom:onSignInActivity:epoch:beginAt:dur:endAt:desc:() callback in MeetingKitRoomDelegate.

signInList:onFailed:()

- (void)signInList:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets the list of sign-in activities. The host or a co-host can use this API to get the list of sign-in activities (host or co-host only).

signInCount:onSuccess:onFailed:()

- (void)signInCount:(NSInteger)epoch onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Counts sign-ins. The host or a co-host can use this API to get the current number of people who have signed in (host or co-host only).

signInFinish:onFailed:()

- (void)signInFinish:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Ends a sign-in activity. The host or a co-host can use this API to end a sign-in activity (host or co-host only), and the SDK notifies all in-meeting members through the meetingRoom:onSignInFinish:epoch:() callback in MeetingKitRoomDelegate.

signInDetail:onSuccess:onFailed:()

- (void)signInDetail:(NSInteger)epoch onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Gets sign-in activity details. The host or a co-host can use this API to get the sign-in records (host or co-host only).

signInSign:onFailed:()

- (void)signInSign:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Signs in. After the host or a co-host starts a sign-in activity, in-meeting members can use this API to sign in.

signInExportDetail:onSuccess:onFailed:()

- (void)signInExportDetail:(NSInteger)epoch onSuccess:(nullable SEASuccessBlock)onSuccess onFailed:(nullable SEAFailedBlock)onFailed Exports sign-in data. The host or a co-host can use this API to export sign-in data, and the SDK returns the local path of the list in the callback (host or co-host only).

Data management APIs

getMySelf()

- (SEAUserModel *)getMySelf Gets the basic information of the locally logged-in user. Returns: SEAUserModel user data.

findMemberWithUserId:()

- (SEAUserModel *)findMemberWithUserId:(NSString *)userId Gets the basic information of a specified remote user. Returns: SEAUserModel user data.

getRemoteUsers()

- (NSArray<SEAUserModel *> *)getRemoteUsers Gets the member list of the current room. Returns: SEAUserModel user data.

getRoomDetails()

- (SEARoomModel *)getRoomDetails Gets the basic information of the current room. Returns: SEARoomModel room details.

getDrawingHost()

- (NSString *)getDrawingHost Gets the whiteboard address. Returns: The whiteboard is implemented as a web page. This API only works after you’ve entered the room, and returns the whiteboard address.

Media configuration APIs

setStreamMediaConfig:()

- (void)setStreamMediaConfig:(SEAMediaConfig *)config Sets media configuration parameters. Use this API to set parameters such as video encoding, audio encoding, video frame rate, and video bitrate. Parameters

setNetworkQosParam:()

- (void)setNetworkQosParam:(SEANetworkQosParam *)param Sets network quality control parameters. Use this API to set parameters such as the latency adaptation level, the anti-jitter level, the bitrate adaptation switch, and the network adaptation switch. Parameters

Debugging APIs

setDebugParam:()

- (void)setDebugParam:(SEADebugParam *)param Sets debugging parameters. Use this API to set parameters such as the debug address and saving audio and video streams. Parameters