TUIRoomEngine
Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomEngine @ TUIKitEngine.
Function: TUIRoomEngine Main function APIs.
Version: 3.2
TUIRoomEngine
TUIRoomEngine
FuncList | DESC |
Create a TUIRoomEngine instance (singleton pattern). | |
Destroy the TUIRoomEngine instance (singleton pattern). | |
After creating a TUIRoomEngine instance, you should login with sdkAppId, userId and userSig then you can call TUIRoomEngine instance and other function. | |
Log out of your account. If you are in the room, there will be active leaving room and destroying resource operations. | |
Update user name and avatar for logged-in user. | |
Return the basic information of the logged-in user, including nickname and avatar. | |
Update user basic information for logged-in user. | |
Set event observer. | |
Remove event observer. | |
Create a room. | |
Dismiss the room. | |
Enter a room. | |
Enter a room. | |
Enter a room. | |
Exit the room. | |
Fetch room information. | |
Fetch Specified Room Information. | |
Update room name (only support for administrators or room owner). | |
Update room seat mode (only support for administrators or room owner). | |
Update room password (only support for administrators or room owner). | |
Get room metadata. | |
Set room metadata, if the key already exists, update its value, if not, add the key. | |
Set the local camera to preview the render view. | |
Open the local camera. | |
Close the local camera. | |
Start publishing local video stream, default enabled. | |
Stop publishing local video stream. | |
Update video encoding quality. | |
Set the video encoding parameters. | |
Set the video resolution mode (horizontal resolution or vertical resolution). | |
Set the substitute image for local video during pause. | |
Turn on gravity sensing mode. (only availble on mobile OS and the camera capture scene inside the SDK). | |
Start screen sharing (only available on mobile OS). | |
Start screen sharing (only available on Mac OS). | |
Stop screen sharing. | |
Get the sharable screen and windows (only available on Mac OS) | |
Select the screen or windows to share (only available on Mac OS) | |
Open local microphone. | |
Close the local microphone. | |
Update audio encoding quality. | |
Pause publishing the local audio stream. | |
Resume publishing the local audio stream. | |
Enable system audio sharing | |
Set the render view for remote user. | |
Start playing the remote user's video stream. | |
Stop playing the remote user's video stream. | |
Mute the remote user's audio stream. | |
Get the list of user in the room. | |
Get user information. | |
Change user role (only support for administrators or room owner). | |
Change user nickname in the room (only support to change all user for administrators or room owner, user can only change by self). | |
Kick the remote user out of the room (only support for administrators or room owner). | |
Add a tag for the user (only support for administrators or room owner). | |
Remove tag for user (only support for room owner). | |
Get user information in the room based on the tag. | |
Set custom information for room users. | |
The owner or administrator control that all users whether can open device. For example: all users are prohibited from opening the microphone(only available in the conference scenario). | |
Request the remote user to open the media device (only support for administrators or room owner). | |
Close remote user media devices (only support for administrators or room owner). | |
Apply to open the local media device (available to general users). | |
Get seat list. | |
Lock the seat (only support for administrators or room owner). | |
Take the seat. | |
Leave the seat. | |
Move to seat. | |
Invite user to take the seat (only support for administrators or room owner). | |
Kick off the user from seat (only support for administrators or room owner). | |
Get the request list of users who want to take the seat in the room (only support for administrators or room owner). | |
Disable the ability of remote users to send messages (only support for administrators or room owner). | |
Disable the ability of all users to send messages (only support for administrators or room owner). | |
Send text message | |
Send custom message | |
Cancel request. | |
Response request. | |
Get the TRTC instance object. | |
Set the beauty level. | |
Set whitening level. | |
Get the extension. | |
Get device management class. | |
Get live-connection management class. | |
Get live-battle management class. | |
Call experimental APIs. |
sharedInstance
sharedInstance
Create a TUIRoomEngine instance (singleton pattern).
Description:
Creates and returns the global shared instance of TUIRoomEngine (singleton pattern).
Supports both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
Using singleton pattern avoids duplicate engine instance creation and saves resources.
Return value:
Returns the singleton instance pointer of TUIRoomEngine.
// Objective-C Usage example:TUIRoomEngine *engine = [TUIRoomEngine sharedInstance];// Swift Usage example:let engine = TUIRoomEngine.sharedInstance()
Note
Multiple calls will return the same instance.
destroySharedInstance
destroySharedInstance
Destroy the TUIRoomEngine instance (singleton pattern).
Description:
To avoid unknown exceptions after destroying the singleton instance, this interface is not recommended to be called during program runtime.
Destroys the global shared instance of TUIRoomEngine.
Releases all resources occupied by the engine.
Need to reacquire sharedInstance if used again after calling this.
// Objective-C Usage example:[TUIRoomEngine destroySharedInstance];// Swift Usage example:TUIRoomEngine.destroySharedInstance()
Note
Make sure all rooms have been exited before calling this method.
All engine functionalities will become unavailable after calling this.
Applies to both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive) .
loginWithSDKAppId:userId:userSig:onSuccess:onError:
loginWithSDKAppId:userId:userSig:onSuccess:onError:
+ (void)loginWithSDKAppId: | (NSInteger)sdkAppId |
userId: | (NSString *)userId |
userSig: | (NSString *)userSig |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
After creating a TUIRoomEngine instance, you should login with sdkAppId, userId and userSig then you can call TUIRoomEngine instance and other function.
Description:
The function supports the TUIRoomTypeConference and TUIRoomTypeLive room types.
If a user is kicked off while online, the SDK will notify you through the onKickedOffLine callback in TUIRoomObserver.
// Objective-C Usage example:[TUIRoomEngine loginWithSDKAppId:1400000001userId:@"user123"userSig:@"xxxxxx"onSuccess:^{// Login success handling}onError:^(int code, NSString *message) {// Login failure handling}];// Swift Usage example:TUIRoomEngine.login(sdkAppId: 1400000001,userId: "user123",userSig: "xxxxxx",onSuccess: {// Login success handling},onError: { code, message in// Login failure handling})
Parameters:
Param | DESC |
sdkAppId | |
userId | User ID, it is the unique identifier used by Tencent Cloud to distinguish users. |
userSig | The user signature designed by Tencent Cloud based on the UserId, which is used to access Tencent Cloud services. More details, see UserSig. |
Note
You must call this interface to log in successfully before performing other operations.
The userId under the same SDKAppId must be unique.
userSig needs to be generated by your business server.
logout:onError:
logout:onError:
+ (void)logout: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Log out of your account. If you are in the room, there will be active leaving room and destroying resource operations.
Description:
Actively logs out of current login status.
Releases all resources occupied by the engine.
Automatically executes room leaving operation if currently in a room.
Requires calling login interface again for subsequent usage.
// Objective-C Usage example:[TUIRoomEngine logout:^{// Handle logout success} onError:^(int code, NSString *message) {// Handle logout failure}];// Swift Usage example:TUIRoomEngine.logout {// Handle logout success} onError: { code, message in// Handle logout failure}
Parameters:
Param | DESC |
onError | Callback for failed logout, including error code and message. |
onSuccess | Callback for successful logout. |
Note
Ensure all necessary cleanup is completed before calling this method.
All engine functionalities will become unavailable after calling this method.
Applies to both meeting and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
If logout fails due to network issues, recommend retrying or prompting user to check network.
setSelfInfoWithUserName:avatarUrl:onSuccess:onError:
setSelfInfoWithUserName:avatarUrl:onSuccess:onError:
+ (void)setSelfInfoWithUserName: | (NSString *)userName |
avatarUrl: | (NSString *)avatarURL |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update user name and avatar for logged-in user.
Description:
Sets local user's nickname and avatar URL.
Modified information will be synchronized to other users in the room.
Applies to both meeting and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:[TUIRoomEngine setSelfInfoWithUserName:@"John"avatarUrl:@"https://avatar.url"onSuccess:^{// Handle success}onError:^(int code, NSString *message) {// Handle failure}];// Swift Usage example:TUIRoomEngine.setSelfInfo(userName: "John",avatarUrl: "https://avatar.url",onSuccess: {// Handle success},onError: { code, message in// Handle failure})
Parameters:
Param | DESC |
avatarURL | User avatar URL address. |
onError | Callback for failed operation, including error code and message. |
onSuccess | Callback for successful operation. |
userName | User nickname. |
Note
Avatar URL must be a valid and accessible address.
Nickname and avatar changes may take at least 10 minutes to sync to other users in the room.
getSelfInfo
getSelfInfo
Return the basic information of the logged-in user, including nickname and avatar.
Description:
Retrieves detailed information of currently logged-in user.
Includes basic information like user ID, nickname, avatar URL.
Applies to both meeting and live room types (TUIRoomTypeConference & TUILoginUserInfo).
Return Value:
Returns TUILoginUserInfo object (TUILoginUserInfo).
Usage Example:
// Objective-C Usage example:TUILoginUserInfo *userInfo = [TUIRoomEngine getSelfInfo];// Swift Usage example:let userInfo = TUIRoomEngine.getSelfInfo()
Note
Must be called after successful login, returns locally cached user information.
setSelfInfo:onSuccess:onError:
setSelfInfo:onSuccess:onError:
+ (void)setSelfInfo: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update user basic information for logged-in user.
Description:
Sets basic information of currently logged-in user, including user ID, nickname, avatar URL etc.
Modified information will be synchronized to other users in the room.
Supports both meeting room type and live room type (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:TUILoginUserInfo *userInfo = [[TUILoginUserInfo alloc] init];userInfo.userId = @"user123";userInfo.userName = @"John";userInfo.avatarUrl = @"https://avatar.url";[TUIRoomEngine setSelfInfo:userInfoonSuccess:^{// Handle success}onError:^(int code, NSString *message) {// Handle failure}];// Swift Usage example:let userInfo = TUILoginUserInfo()userInfo.userId = "user123"userInfo.userName = "John"userInfo.avatarUrl = "https://avatar.url"TUIRoomEngine.setSelfInfo(userInfo: userInfo,onSuccess: {// Handle success},onError: { code, message in// Handle failure})
Parameters:
Param | DESC |
callback | Interface callback to notify success or failure of the operation. |
userInfo |
Note
Must be called after successful login.
Avatar URL must be a valid and accessible address.
Nickname and avatar changes may take at least 10 minutes to sync to other users in the room.
addObserver:
addObserver:
- (void)addObserver: |
Set event observer.
Description:
Registers an observer object to receive various event notifications in the room.
Supports both meeting room type and live room type (TUIRoomTypeConference & TUIRoomTypeLive).
Receives various event notifications through TUIRoomObserver (e.g., error codes, remote user joining, audio/video status parameters, etc.).
// Objective-C Usage example:TUIRoomEngine *engine = [TUIRoomEngine sharedInstance];[engine addObserver:self];// Swift Usage example:let engine = TUIRoomEngine.sharedInstance()engine.addObserver(self)
Parameters:
Param | DESC |
observer | Object instance conforming to TUIRoomObserver protocol. |
Note
Must be called before entering the room.
The added observer object's lifecycle needs to be managed manually.
Avoid adding the same observer repeatedly.
Observer won't be automatically removed after leaving the room, must call removeObserver manually.
removeObserver:
removeObserver:
- (void)removeObserver: |
Remove event observer.
Description:
Unregisters a previously registered observer object to stop receiving various event notifications in the room.
Supports both meeting room type and live room type (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:TUIRoomEngine *engine = [TUIRoomEngine sharedInstance];[engine removeObserver:self];// Swift Usage example:let engine = TUIRoomEngine.sharedInstance()engine.removeObserver(self)
Parameters:
Param | DESC |
observer | The observer callback instance to be removed. |
Note
Removing non-existent observer may cause errors.
Recommended to call this method before the observer object is destroyed.
createRoom:onSuccess:onError:
createRoom:onSuccess:onError:
- (void)createRoom: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Create a room.
Description:
Creates a new room supporting both conference and live streaming room types (TUIRoomTypeConference & TUIRoomTypeLive).
Room creator automatically becomes the room owner.
Requires room info parameters to initialize room settings.
// Objective-C Usage example:TUIRoomInfo *roomInfo = [[TUIRoomInfo alloc] init];roomInfo.roomId = @"room123";roomInfo.roomType = TUIRoomTypeConference;roomInfo.name = @"Conference Room";[[TUIRoomEngine sharedInstance] createRoom:roomInfoonSuccess:^{NSLog(@"Room created");}onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Create failed: %@", message);}];// Swift Usage example:let roomInfo = TUIRoomInfo()roomInfo.roomId = "room123"roomInfo.roomType = .conferenceroomInfo.name = "Conference Room"TUIRoomEngine.sharedInstance().createRoom(roomInfo, onSuccess: {print("Room created")}, onError: { code, message inprint("Create failed: \(message)")})
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
roomInfo | Room information object used to initialize room settings. |
Note
Must call login method first before creating room.
Different room types (TUIRoomTypeConference/ TUIRoomTypeLive) affect feature availability.
Creator automatically becomes room owner.
Single user can only create one room at a time.
destroyRoom:onError:
destroyRoom:onError:
- (void)destroyRoom: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Dismiss the room.
Description:
Dismisses the current room where the user is located.
All members will be forcibly removed after room dismissal.
Supports both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] destroyRoom:^{NSLog(@"Room dismissed successfully");} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to dismiss room: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().destroyRoom {print("Room dismissed successfully")} onError: { code, message inprint("Failed to dismiss room: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
Note
Only room owner can call this interface.
After room dismissal, SDK will notify users in the room via onRoomDismissed callback in TUIRoomObserver .
Ensure all room transactions are completed before calling this interface.
Dismissed room cannot be recovered, a new room needs to be created for continued use.
enterRoom:onSuccess:onError:
enterRoom:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Enter a room.
Description:
This interface will be deprecated in future versions and is not recommended for use.
For entering rooms, it is recommended to use either:
2.4 enterRoom(String roomId, TUIRoomDefine.RoomType roomType
or 2.5 enterRoom(String roomId, TUIRoomDefine.RoomType roomType, TUIRoomDefine.EnterRoomOptions
interface.// Objective-C Usage example:[[TUIRoomEngine sharedInstance] enterRoom:@"roomId123" onSuccess:^(TUIRoomInfo * _Nullable roomInfo) {NSLog(@"Enter room successfully");} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to enter room: %@", message);}];// Swift ExampleTUIRoomEngine.sharedInstance().enterRoom("roomId123") { roomInfo inprint("Enter room successfully")} onError: { code, message inprint("Failed to enter room: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
roomId | Room ID. |
Note
Single device is limited to joining 1 room at the same time. If exceeded, the earliest joined room will be exited automatically.
For same account logged in on multiple devices, only 1 device is allowed to join a conference room with the same ID. Other devices attempting to join will kick out the earlier joined device.
After entering room, SDK will notify users in the room via onRemoteUserEnterRoom callback in TUIRoomObserver.
enterRoom:roomType:onSuccess:onError:
enterRoom:roomType:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
roomType: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Enter a room.
Description:
Enter the specified room, supporting two room types: conference and live streaming (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] enterRoom:@"roomId123"roomType:TUIRoomTypeConferenceonSuccess:^(TUIRoomInfo * _Nullable roomInfo) {NSLog(@"Enter room successfully");} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to enter room: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().enterRoom("roomId123", roomType: .conference) { roomInfo inprint("Enter room successfully")} onError: { code, message inprint("Failed to enter room: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
roomId | Room ID, must be unique. |
roomType | Room type (conference/live). |
Note
Single device is limited to joining 1 conference room or 3 live rooms simultaneously. If exceeded, the earliest joined room will be exited automatically.
For same account logged in on multiple devices, only 1 device is allowed to join a conference room with the same ID. Other devices attempting to join will kick out the earlier joined device.
After entering room, SDK will notify users in the room via onRemoteUserEnterRoom callback in TUIRoomObserver.
enterRoom:roomType:options:onSuccess:onError:
enterRoom:roomType:options:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
roomType: | |
options: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Enter a room.
Description:
Enter the specified room, supporting two room types: conference and live streaming (TUIRoomTypeConference & TUIRoomTypeLive).
Supports passing additional room entry parameters through options, such as room password etc.
// Objective-C Usage example:TUIEnterRoomOptions *options = [[TUIEnterRoomOptions alloc] init];options.password = @"***";[[TUIRoomEngine sharedInstance] enterRoom:@"roomId123"roomType:TUIRoomTypeConferenceoptions:optionsonSuccess:^(TUIRoomInfo * _Nullable roomInfo) {NSLog(@"Enter room successfully");} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to enter room: %@", message);}];// Swift Usage example:let options = TUIEnterRoomOptions()options.password = "***"TUIRoomEngine.sharedInstance().enterRoom("roomId123",roomType: .conference,options: options) { roomInfo inprint("Enter room successfully")} onError: { code, message inprint("Failed to enter room: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
options | |
roomId | Room ID. |
roomType | Room type. |
Note
Single device is limited to joining 1 conference room or 3 live rooms simultaneously. If exceeded, the earliest joined room will be exited automatically.
For same account logged in on multiple devices, only 1 device is allowed to join a conference room with the same ID. Other devices attempting to join will kick out the earlier joined device.
After entering room, SDK will notify users in the room via onRemoteUserEnterRoom callback in TUIRoomObserver.
exitRoom:onSuccess:onError:
exitRoom:onSuccess:onError:
- (void)exitRoom: | (BOOL)syncWaiting |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Exit the room.
Description:
Exit the current room.
This function supports both conference and live streaming room types(TUIRoomTypeConference & TUIRoomTypeLive).
All audio/video streams will automatically stop pushing after exiting.
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] exitRoom:YES onSuccess:^{NSLog(@"Exit room successfully");} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to exit room: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().exitRoom(syncWaiting: true) {print("Exit room successfully")} onError: { code, message inprint("Failed to exit room: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
syncWaiting | Whether to wait synchronously for the interface to return. |
Note
After leaving the room, the SDK will notify users in the room via onRemoteUserLeaveRoom callback in TUIRoomObserver.
fetchRoomInfo:onError:
fetchRoomInfo:onError:
- (void)fetchRoomInfo: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Fetch room information.
Description:
Get detailed information of the current room, including room ID, room name, room type, etc.
Supports both conference and live streaming room types(TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] fetchRoomInfo:^(TUIRoomInfo * _Nullable roomInfo) {NSLog(@"Get room info successfully: %@", roomInfo);} onError:^(TUIError code, NSString * _Nonnull message) {NSLog(@"Failed to get room info: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().fetchRoomInfo { roomInfo inprint("Get room info successfully: \(roomInfo)")} onError: { code, message inprint("Failed to get room info: \(message)")}
Parameters:
@param onSuccess(iOS) Callback when room info is successfully obtained, contains $TUIRoomInfo room information.
@param onError(iOS) Failure callback (contains error code and message).
@param callback(Android/Win) Interface callback to notify success or failure of the call, success returns $TUIRoomInfo room info, failure returns error code and message.
Note
Must be called after entering a room.
Returned room info includes basic configuration and current status.
Returns error if not currently in any room.
fetchRoomInfo:roomType:onSuccess:onError:
fetchRoomInfo:roomType:onSuccess:onError:
- (void)fetchRoomInfo: | (NSString*)roomId |
roomType: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Fetch Specified Room Information.
Description:
Retrieves detailed information of a specified room, including room ID, room name, room type, etc.
Applicable to both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] fetchRoomInfo:@"room123"roomType:TUIRoomTypeConferenceonSuccess:^(TUIRoomInfo *roomInfo) {NSLog(@"Room info fetched successfully: %@", roomInfo);} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to fetch room info: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().fetchRoomInfo(roomId: "room123", roomType: .conference) { roomInfo inprint("Room info fetched successfully: \(roomInfo)")} onError: { code, message inprint("Failed to fetch room info: \(message)")}
Parameters:
Param | DESC |
callback | (Android) Interface callback to notify success or failure of the call, success returns $TUIRoomInfo room info, failure returns error code and message. |
onError | (iOS) Failure callback, includes error code and message. |
onSuccess | (iOS) Success callback, returns room information object. |
roomId | Room ID to query. |
roomType | Room type (conference/live). |
Note
Can be called before entering a room to query basic room information.
Returned room info includes basic configuration and current status.
Returns ROOM_ERROR_NOT_FOUND(1001) error if room doesn't exist.
updateRoomNameByAdmin:onSuccess:onError:
updateRoomNameByAdmin:onSuccess:onError:
- (void)updateRoomNameByAdmin: | (NSString *)roomName |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update room name (only support for administrators or room owner).
Description:
Modifies the name of the current room, applicable to both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
After the room name is updated, the SDK notifies all users in the room via the onRoomNameChanged callback in TUIRoomObserver.
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] updateRoomNameByAdmin:@"New Room" onSuccess:^{NSLog(@"Room name updated successfully");} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to update room name: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().updateRoomNameByAdmin("New Room") {print("Room name updated successfully")} onError: { code, message inprint("Failed to update room name: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure returns error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
roomName | New room name. |
Note
Only administrators or room owners can call this interface.
After successful modification, all users in the room will receive the onRoomNameChanged callback.
Returns error code if room name contains illegal characters or exceeds length limit.
updateRoomSeatModeByAdmin:onSuccess:onError:
updateRoomSeatModeByAdmin:onSuccess:onError:
- (void)updateRoomSeatModeByAdmin: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update room seat mode (only support for administrators or room owner).
Description:
Modifies the seat management mode of the room, supporting both free-to-take and apply-to-take modes.
Applicable to both conference and live room types (TUIRoomTypeConference & TUIRoomTypeLive).
After seat mode is updated, the SDK notifies all users in the room via onRoomSeatModeChanged callback in TUIRoomObserver.
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] updateRoomSeatModeByAdmin:TUISeatModeApplyToTakeonSuccess:^{NSLog(@"Room seat mode updated successfully");} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to update room seat mode: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().updateRoomSeatModeByAdmin(.applyToTake) {print("Room seat mode updated successfully")} onError: { code, message inprint("Failed to update room seat mode: \(message)")}
Parameters:
Param | DESC |
callback | (Android/Win) Interface callback to notify success or failure of the call, failure returns error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
seatMode |
Note
Only administrators or room owners can call this interface.
After mode change, all users in room will receive onRoomSeatModeChanged callback.
Free-to-take mode suits interactive scenarios, apply-to-take mode suits scenarios requiring speaking control.
updateRoomPasswordByAdmin:onSuccess:onError:
updateRoomPasswordByAdmin:onSuccess:onError:
- (void)updateRoomPasswordByAdmin: | (NSString *)password |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update room password (only support for administrators or room owner).
Description:
Modifies the access password of the current room, applicable only to conference room type (TUIRoomTypeConference).
After password update, new users joining the room will need to provide the new password.
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] updateRoomPasswordByAdmin:@"NewPassword" onSuccess:^{NSLog(@"Room password updated successfully");} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to update room password: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().updateRoomPasswordByAdmin("NewPassword") {print("Room password updated successfully")} onError: { code, message inprint("Failed to update room password: \(message)")}
Parameters:
Param | DESC |
callback | (Android) Interface callback to notify success or failure of the call, failure returns error code and message. |
onError | (iOS) Failure callback (contains error code and message). |
onSuccess | (iOS) Success callback. |
password | New room password, recommended length 8-16 characters, can include letters, numbers and special characters. |
Note
Only administrators or room owners can call this interface.
Password change does not affect users already in the room.
Conference room type (TUIRoomTypeConference) only, not supported for live room type (TUIRoomTypeLive).
getRoomMetadata:onSuccess:onError:
getRoomMetadata:onSuccess:onError:
- (void)getRoomMetadata: | (NSArray<NSString *> *)keys |
onSuccess: | (TUIRoomMetadataResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get room metadata.
Description:
Retrieves custom metadata key-value pairs of the room, which are set during room creation or by administrators.
Only applicable to live room type (TUIRoomTypeLive).
// Objective-C Usage example:[[TUIRoomEngine sharedInstance] getRoomMetadata:@[@"key1", @"key2"] onSuccess:^(NSDictionary<NSString *,NSString *> *metadata) {NSLog(@"Room metadata fetched successfully: %@", metadata);} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to fetch room metadata: %@", message);}];// Swift Usage example:TUIRoomEngine.sharedInstance().getRoomMetadata(["key1", "key2"]) { metadata inprint("Room metadata fetched successfully: \(metadata)")} onError: { code, message inprint("Failed to fetch room metadata: \(message)")}
Parameters:
Param | DESC |
callback | (Android) Interface callback to notify success or failure of the call, failure returns error code and message. Interface callback to notify success or failure of the call, failure callback contains error code and message. |
keys | List of metadata keys to query. Pass empty list to retrieve all metadata. |
onError | (iOS) Failure callback, includes error code and message. |
onSuccess | (iOS) Success callback, returns metadata dictionary. |
Note
Only live room type (TUIRoomTypeLive) supports this feature.
Returned metadata is in key-value pair format, with string values.
User must be in the room to call this interface.
setRoomMetadataByAdmin
setRoomMetadataByAdmin
Set room metadata, if the key already exists, update its value, if not, add the key.
Description:
Sets or updates custom metadata key-value pairs for the room, applicable only to live room type (TUIRoomTypeLive).
If the specified key exists, its value will be updated; if not, a new key-value pair will be added.
After metadata is updated, the SDK notifies all users in the room via onRoomMetadataChanged callback in TUIRoomObserver.
// Objective-C Usage example:NSDictionary *metadata = @{@"key1": @"value1", @"key2": @"value2"};[[TUIRoomEngine sharedInstance] setRoomMetadataByAdmin:metadata onSuccess:^{NSLog(@"Room metadata updated successfully");} onError:^(TUIError code, NSString *message) {NSLog(@"Failed to update room metadata: %@", message);}];// Swift Usage example:let metadata = ["key1": "value1", "key2": "value2"]TUIRoomEngine.sharedInstance().setRoomMetadataByAdmin(metadata) {print("Room metadata updated successfully")} onError: { code, message inprint("Failed to update room metadata: \(message)")}
Parameters:
Param | DESC |
callback | (Android) Interface callback to notify success or failure of the call, failure callback contains error code and message. |
metadata | Custom metadata key-value pairs to set, both keys and values must be strings |
onError | (iOS) Failure callback (contains error code and message) |
onSuccess | (iOS) Success callback |
Note
Only administrators or room owners can call this interface.
After metadata update, all users in room will receive onRoomMetadataChanged callback.
Key length cannot exceed 50 bytes, value length cannot exceed 200 bytes.
Live room type (TUIRoomTypeLive) only.
setLocalVideoView:
setLocalVideoView:
- (void)setLocalVideoView: | (TUIVideoView *__nullable)view |
Set the local camera to preview the render view.
Param | DESC |
view | Render view. |
Note
openLocalCamera:quality:onSuccess:onError:
openLocalCamera:quality:onSuccess:onError:
- (void)openLocalCamera: | (BOOL)isFront |
quality: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Open the local camera.
Param | DESC |
isFront | YES: front NO: rear (only available on mobile OS). |
Note
After opened the local camera in the room, the local video stream is published by default, and the SDK notifies the users in the room through the $onUserVideoStateChanged$ callback in TUIRoomObserver.
closeLocalCamera
closeLocalCamera
Close the local camera.
Note
After closed the local camera in the room, the SDK notifies users in the room through the onUserVideoStateChanged callback in TUIRoomObserver.
startPushLocalVideo
startPushLocalVideo
Start publishing local video stream, default enabled.
Note
After published the local video, if your local camera is opening, the SDK will notify users in the room through the onUserVideoStateChanged callback in TUIRoomObserver.
stopPushLocalVideo
stopPushLocalVideo
Stop publishing local video stream.
Note
After stopped published local video, the SDK notifies users in the room through the onUserVideoStateChanged callback in TUIRoomObserver.
updateVideoQuality:
updateVideoQuality:
- (void)updateVideoQuality: |
Update video encoding quality.
Note
updateVideoQualityEx:params:
updateVideoQualityEx:params:
- (void)updateVideoQualityEx: | |
params: |
Set the video encoding parameters.
Param | DESC |
params | |
streamType |
Note
setVideoResolutionMode:resolutionMode:
setVideoResolutionMode:resolutionMode:
- (void)setVideoResolutionMode: | |
resolutionMode: |
Set the video resolution mode (horizontal resolution or vertical resolution).
Param | DESC |
resolutionMode | |
streamType |
Note
setLocalVideoMuteImage:
setLocalVideoMuteImage:
- (void)setLocalVideoMuteImage: | (nullable TUIImage *)image |
Set the substitute image for local video during pause.
Note
Setting the placeholder image is only supported for streaming after calling stopPushLocalVideo; it is not supported after calling closeLocalCamera.@param image Substitute image.
enableGravitySensor:
enableGravitySensor:
- (void)enableGravitySensor: | (BOOL)enable |
Turn on gravity sensing mode. (only availble on mobile OS and the camera capture scene inside the SDK).
Param | DESC |
enable | YES: Open NO: Close. |
Note
After turning on gravity sensing, if the device on the collection end rotates, the images on the collection end and the audience will be rendered accordingly to ensure that the image in the field of view is always facing up.
startScreenCaptureByReplaykit:
startScreenCaptureByReplaykit:
- (void)startScreenCaptureByReplaykit: | (NSString *)appGroup |
Start screen sharing (only available on mobile OS).
After screen sharing started, the SDK notifies users in the room through the onUserVideoStateChanged callback in TUIRoomObserver.
startScreenCapture:onSuccess:onError:
startScreenCapture:onSuccess:onError:
- (void)startScreenCapture: | (TUIVideoView *)view |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Start screen sharing (only available on Mac OS).
Param | DESC |
view | The render view can be set a null value, it means not displaying the preview screen locally. |
Note
After screen sharing started, the SDK notifies users in the room through the onUserVideoStateChanged callback in TUIRoomObserver.
The API can capture the screen content of the entire Mac OS, or capture and share the window content you select.
stopScreenCapture
stopScreenCapture
Stop screen sharing.
Note
After screen sharing ended, the SDK notifies users in the room through the onUserVideoStateChanged callback in TUIRoomObserver and also notifies you through the onUserScreenCaptureStopped callback.
getScreenCaptureSources
getScreenCaptureSources
Get the sharable screen and windows (only available on Mac OS)
Note
The user can use the API to select the screen and window that can be shared. Through the API, you can query the ID, name, and thumbnail of the window that can be shared in the current system.
Return Desc:
The list of windows, including screens.
selectScreenCaptureTarget:
selectScreenCaptureTarget:
- (void)selectScreenCaptureTarget: | (NSString *)targetId |
Select the screen or windows to share (only available on Mac OS)
Param | DESC |
targetId | Selected sharing source. |
Note
After you obtain the screen and window that can be shared through getScreenCaptureSources, you can call the API to select the target screen or window.
During the screen sharing, you can also call the API to change the sharing target.
openLocalMicrophone:onSuccess:onError:
openLocalMicrophone:onSuccess:onError:
- (void)openLocalMicrophone: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Open local microphone.
Param | DESC |
quality | Audio quality. |
Note
After opened the local microphone in a room, the SDK notifies users in the room through the onUserAudioStateChanged callback in TUIRoomObserver.
closeLocalMicrophone
closeLocalMicrophone
Close the local microphone.
Note
After closed the local microphone in the room, the SDK notifies the users in the room through the onUserAudioStateChanged callback in TUIRoomObserver.
updateAudioQuality:
updateAudioQuality:
- (void)updateAudioQuality: |
Update audio encoding quality.
Note
muteLocalAudio
muteLocalAudio
Pause publishing the local audio stream.
Note
If you have opened your microphone and call the API to pause publishing the local audio stream, the SDK will notify the users in the room through the onUserAudioStateChanged callback in TUIRoomObserver.
unmuteLocalAudio:onError:
unmuteLocalAudio:onError:
- (void)unmuteLocalAudio: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Resume publishing the local audio stream.
Note
If you have opened your microphone and call the API to resume publishing the local audio stream, the SDK will notify the users in the room through the onUserAudioStateChanged callback in TUIRoomObserver.
enableSystemAudioSharing:
enableSystemAudioSharing:
- (void)enableSystemAudioSharing: | (BOOL)enable |
Enable system audio sharing
This API captures system audio data from your device and mixes it into the current audio stream of the SDK. This ensures that other users in the room hear the audio played back by the another app.
Note
Android: You need to use this interface to enable system sound capture first, and it will take effect only when you call startScreenCapture to enable screen sharing.
setRemoteVideoView:streamType:view:
setRemoteVideoView:streamType:view:
- (void)setRemoteVideoView: | (NSString *)userId |
streamType: | |
view: | (TUIVideoView *__nullable)view |
Set the render view for remote user.
Param | DESC |
streamType | |
userId | Remote user ID. |
view | Render view. |
Note
startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
- (void)startPlayRemoteVideo: | (NSString *)userId |
streamType: | |
onPlaying: | (TUIPlayOnPlayingBlock)onPlaying |
onLoading: | (TUIPlayOnLoadingBlock)onLoading |
onError: | (TUIPlayOnErrorBlock)onError |
Start playing the remote user's video stream.
Param | DESC |
streamType | |
userId | User ID. |
Note
stopPlayRemoteVideo:streamType:
stopPlayRemoteVideo:streamType:
- (void)stopPlayRemoteVideo: | (NSString *)userId |
streamType: |
Stop playing the remote user's video stream.
Param | DESC |
streamType | |
userId | User ID. |
Note
muteRemoteAudioStream:isMute:
muteRemoteAudioStream:isMute:
- (void)muteRemoteAudioStream: | (NSString *)userId |
isMute: | (BOOL)isMute |
Mute the remote user's audio stream.
Param | DESC |
isMute | true: pause pulling remote user's audio stream, false: resume pulling remote user's audio stream. |
userId | User ID. |
Note
getUserList:onSuccess:onError:
getUserList:onSuccess:onError:
- (void)getUserList: | (NSInteger)nextSequence |
onSuccess: | (TUIUserListResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get the list of user in the room.
Param | DESC |
nextSequence | Filling in 0 for the first request, if the returned data of the callback is not zero, paging is required, continue the operation until it is 0. |
Note
getUserInfo:onSuccess:onError:
getUserInfo:onSuccess:onError:
- (void)getUserInfo: | (NSString *)userId |
onSuccess: | (TUIUserInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get user information.
Param | DESC |
userId | User ID. |
Note
changeUserRole:role:onSuccess:onError:
changeUserRole:role:onSuccess:onError:
- (void)changeUserRole: | (NSString *)userId |
role: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Change user role (only support for administrators or room owner).
Param | DESC |
role | |
userId | User ID. |
Note
After the user role changed, the SDK will notify the users in the room through the onUserInfoChanged callback in TUIRoomObserver.
changeUserNameCard:nameCard:onSuccess:onError:
changeUserNameCard:nameCard:onSuccess:onError:
- (void)changeUserNameCard: | (NSString *)userId |
nameCard: | (NSString *)nameCard |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Change user nickname in the room (only support to change all user for administrators or room owner, user can only change by self).
Param | DESC |
nameCard | User nickname to set, maximum support is 32 bytes |
userId | User ID to change. |
Note
After the user nickname changed, the SDK will notify the users in the room through the onUserInfoChanged callback in TUIRoomObserver.
kickRemoteUserOutOfRoom:onSuccess:onError:
kickRemoteUserOutOfRoom:onSuccess:onError:
- (void)kickRemoteUserOutOfRoom: | (NSString *)userId |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Kick the remote user out of the room (only support for administrators or room owner).
Param | DESC |
userId | User ID. |
Note
After the remote user is kicked off from the room, the SDK notifies the kicked user through the onKickedOutOfRoom callback in TUIRoomObserver and notifies users in the room through onRemoteUserLeaveRoom.
addCategoryTagForUsers:userList:onSuccess:onError:
addCategoryTagForUsers:userList:onSuccess:onError:
- (void)addCategoryTagForUsers: | (NSInteger)tag |
userList: | (NSArray<NSString *> *)userList |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Add a tag for the user (only support for administrators or room owner).
Param | DESC |
tag | Integer type, it is recommended that this value must be greater than or equal to 1000, you can customize it. |
userList | User list. |
Note
removeCategoryTagForUsers:userList:onSuccess:onError:
removeCategoryTagForUsers:userList:onSuccess:onError:
- (void)removeCategoryTagForUsers: | (NSInteger)tag |
userList: | (NSArray<NSString *> *)userList |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Remove tag for user (only support for room owner).
Param | DESC |
tag | Integer type, it is recommended that this value must be greater than or equal to 1000, you can customize it. |
userList | User list. |
Note
getUserListByTag:nextSequence:onSuccess:onError:
getUserListByTag:nextSequence:onSuccess:onError:
- (void)getUserListByTag: | (NSInteger)tag |
nextSequence: | (NSInteger)nextSequence |
onSuccess: | (TUIUserListResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get user information in the room based on the tag.
Param | DESC |
nextSequence | Filling in 0 for the first request, if the returned data of the callback is not zero, paging is required, continue the operation until it is 0. |
tag | Integer type, it is recommended that this value must be greater than or equal to 1000, you can customize it. |
Note
setCustomInfoForUser:onSuccess:onError:
setCustomInfoForUser:onSuccess:onError:
- (void)setCustomInfoForUser: | (NSString *)userId |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Set custom information for room users.
Param | DESC |
customInfo | Custom information. |
userId | User userId. |
Note
disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
- (void)disableDeviceForAllUserByAdmin: | |
isDisable: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
The owner or administrator control that all users whether can open device. For example: all users are prohibited from opening the microphone(only available in the conference scenario).
Param | DESC |
device | |
isDisable | true: disable user to open device, false: enable user to open device. |
Note
After the API call is successful:
If the device type is MICROPHONE , the SDK will notify the users in the room through onAllUserMicrophoneDisableChanged in TUIRoomObserver.
If the device type is CAMERA , the SDK will notify the users in the room through onAllUserCameraDisableChanged in TUIRoomObserver.
If the device type is SCREEN_SHARING , the SDK will notify the users in the room through onScreenShareForAllUserDisableChanged in TUIRoomObserver.
openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)openRemoteDeviceByAdmin: | (NSString *)userId |
device: | |
timeout: | (NSTimeInterval)timeout |
onAccepted: | (nullable TUIRequestAcceptedBlock)onAccepted |
onRejected: | (nullable TUIRequestRejectedBlock)onRejected |
onCancelled: | (nullable TUIRequestCancelledBlock)onCancelled |
onTimeout: | (nullable TUIRequestTimeoutBlock)onTimeout |
onError: | (nullable TUIRequestErrorBlock)onError |
Request the remote user to open the media device (only support for administrators or room owner).
Param | DESC |
device | |
timeout | Timeout time, in seconds. If it is set to 0, the SDK will not execute timeout detection and will not trigger a timeout callback. |
userId | User ID. |
Note
After calling the API, the SDK will notify the requested user through onRequestReceived in TUIRoomObserver.
Return Desc:
TUIRequest Request body.
closeRemoteDeviceByAdmin:device:onSuccess:onError:
closeRemoteDeviceByAdmin:device:onSuccess:onError:
- (void)closeRemoteDeviceByAdmin: | (NSString *)userId |
device: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Close remote user media devices (only support for administrators or room owner).
Param | DESC |
device | |
userId | User ID. |
Note
After the API call is successful:
If the device type is MICROPHONE, the SDK will notify the users in the room through onUserAudioStateChanged in TUIRoomObserver.
If the device type is CAMERA or SCREEN_SHARING, the SDK will notify the users in the room through onUserVideoStateChanged in TUIRoomObserver.
applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)applyToAdminToOpenLocalDevice: | |
timeout: | (NSTimeInterval)timeout |
onAccepted: | (nullable TUIRequestAcceptedBlock)onAccepted |
onRejected: | (nullable TUIRequestRejectedBlock)onRejected |
onCancelled: | (nullable TUIRequestCancelledBlock)onCancelled |
onTimeout: | (nullable TUIRequestTimeoutBlock)onTimeout |
onError: | (nullable TUIRequestErrorBlock)onError |
Apply to open the local media device (available to general users).
Param | DESC |
device | |
timeout | Timeout time, in seconds. If it is set to 0, the SDK will not execute timeout detection and will not trigger a timeout callback. |
Note
After the API call is successful, the SDK will notify the requested user through onRequestReceived in TUIRoomObserver.
Return Desc:
TUIRequest: Request body.
getSeatList:onError:
getSeatList:onError:
- (void)getSeatList: | (TUISeatListResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get seat list.
Note
lockSeatByAdmin:lockMode:onSuccess:onError:
lockSeatByAdmin:lockMode:onSuccess:onError:
- (void)lockSeatByAdmin: | (NSInteger)seatIndex |
lockMode: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Lock the seat (only support for administrators or room owner).
Param | DESC |
lockParams | Seat lock parameter. More details, see: $TUISeatLockParam$. |
seatIndex | Seat index. |
Note
If the lockParams is lockSeat, it means that the current seat can not be taken by all users and the user will be kicked off if the seat was taken.
If the lockParams is lockVideo/lockAudio, it means that the current seat can not publish video/audio stream.
takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)takeSeat: | (NSInteger)seatIndex |
timeout: | (NSTimeInterval)timeout |
onAccepted: | (TUIRequestAcceptedBlock)onAccepted |
onRejected: | (TUIRequestRejectedBlock)onRejected |
onCancelled: | (TUIRequestCancelledBlock)onCancelled |
onTimeout: | (TUIRequestTimeoutBlock)onTimeout |
onError: | (TUIRequestErrorBlock)onError |
Take the seat.
Param | DESC |
seatIndex | Seat index. If the seat is not enabled or the sequence of seats is not concerned, just fill in -1. |
timeout | Timeout time, in seconds. If it is set to 0, the SDK will not execute timeout detection and will not trigger a timeout callback. |
Note
The user can publish audio/video stream after taking the seat when isSeatEnable is true.
After taking the seat successfully, the SDK will notify the users in the room through $onSeatListChanged$ in TUIRoomObserver.
When the TUISeatMode is ApplyToTake, the operation to take seat need approval from the owner or administrator.
Return Desc:
TUIRequest Request body.
leaveSeat:onError:
leaveSeat:onError:
- (void)leaveSeat: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Leave the seat.
Note
The user can not publish audio/video stream after leaving the seat when isSeatEnable is true.
After leaving seat successfully, the SDK will notify the users in the room through onSeatListChanged in TUIRoomObserver.
moveToSeat:onSuccess:onError:
moveToSeat:onSuccess:onError:
- (void)moveToSeat: | (NSInteger)targetSeatIndex |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Move to seat.
Note
After moving seat successfully, the SDK will notify the users in the room through onSeatListChanged in TUIRoomObserver.
takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- (TUIRequest *)takeUserOnSeatByAdmin: | (NSInteger)seatIndex |
userId: | (NSString *)userId |
timeout: | (NSTimeInterval)timeout |
onAccepted: | (TUIRequestAcceptedBlock)onAccepted |
onRejected: | (TUIRequestRejectedBlock)onRejected |
onCancelled: | (TUIRequestCancelledBlock)onCancelled |
onTimeout: | (TUIRequestTimeoutBlock)onTimeout |
onError: | (TUIRequestErrorBlock)onError |
Invite user to take the seat (only support for administrators or room owner).
Param | DESC |
seatIndex | Seat index. |
timeout | Timeout time, in seconds. If it is set to 0, the SDK will not execute timeout detection and will not trigger a timeout callback. |
userId | User ID. |
Note
After the API call is successful, the SDK will notify the invited user through onRequestReceived in TUIRoomObserver.
Return Desc:
TUIRequest: Request body.
kickUserOffSeatByAdmin:userId:onSuccess:onError:
kickUserOffSeatByAdmin:userId:onSuccess:onError:
- (void)kickUserOffSeatByAdmin: | (NSInteger)seatIndex |
userId: | (NSString *)userId |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Kick off the user from seat (only support for administrators or room owner).
Param | DESC |
seatIndex | Seat index. If the seat is not enabled and the sequence of seats is not concerned, just fill in -1. |
userId | User ID. |
Note
After the API call is successful, the SDK will notify the users in the room through onSeatListChanged in TUIRoomObserver.
getSeatApplicationList:onError:
getSeatApplicationList:onError:
- (void)getSeatApplicationList: | (TUIRequestListResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get the request list of users who want to take the seat in the room (only support for administrators or room owner).
Note
disableSendingMessageByAdmin:isDisable:onSuccess:onError:
disableSendingMessageByAdmin:isDisable:onSuccess:onError:
- (void)disableSendingMessageByAdmin: | (NSString *)userId |
isDisable: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Disable the ability of remote users to send messages (only support for administrators or room owner).
Param | DESC |
isDisable | true: disable user to send message, false: enable user to send message. |
userId | User ID. |
Note
After disabling the ability of remote users to send messages, the SDK notifies the disabled user through onSendMessageForUserDisableChanged in TUIRoomObserver.
disableSendingMessageForAllUser:onSuccess:onError:
disableSendingMessageForAllUser:onSuccess:onError:
- (void)disableSendingMessageForAllUser: | (BOOL)isDisable |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Disable the ability of all users to send messages (only support for administrators or room owner).
Param | DESC |
isDisable | true: disable all users to send message, false: enable all users to send message. |
Note
After disabling the ability of all users to send messages, the SDK notifies users in the room through onSendMessageForAllUserDisableChanged in TUIRoomObserver.
sendTextMessage:onSuccess:onError:
sendTextMessage:onSuccess:onError:
- (void)sendTextMessage: | |
onSuccess: | (TUISendTextMessageBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Send text message
Param | DESC |
onError | Error callback. |
onSuccess | Success callback. |
textMessage | Message object. |
sendCustomMessage:onSuccess:onError:
sendCustomMessage:onSuccess:onError:
- (void)sendCustomMessage: | |
onSuccess: | (TUISendCustomMessageBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Send custom message
Param | DESC |
customMessage | Message object. |
onError | Error callback. |
onSuccess | Success callback. |
cancelRequest:onSuccess:onError:
cancelRequest:onSuccess:onError:
- (void)cancelRequest: | (NSString *)requestId |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Cancel request.
Param | DESC |
requestId | Request ID (get from the sent request). |
Note
After cancelling a request, the SDK will notify the requested user through onRequestCancelled in TUIRoomObserver.
The API can be used to cancel a request that has been sent.
responseRemoteRequest:agree:onSuccess:onError:
responseRemoteRequest:agree:onSuccess:onError:
- (void)responseRemoteRequest: | (NSString *)requestId |
agree: | (BOOL)agree |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Response request.
Param | DESC |
agree | YES: Agree the request, NO: Reject the request. |
requestId | Request ID (get from the sent request or notification of the OnRequestReceived event). |
Note
When received a request, you can use this API to reply the received request.
getTRTCCloud
getTRTCCloud
Get the TRTC instance object.
setBeautyLevel:beautyLevel:
setBeautyLevel:beautyLevel:
- (void)setBeautyLevel: | (NSInteger)beautyStyle |
beautyLevel: | (float)beautyLevel |
Set the beauty level.
Param | DESC |
beautyLevel | Beauty level, the value range is 0 - 9; 0 indicates to disable the filter, and 9 indicates the most obvious effect. |
beautyStyle | Beauty style, the values are as follows: 0: Smooth, the skin smoothing effect is more obvious; 1: Natural, the skin smoothing effect is more natural, and more facial details are retained; 2: Excellent, the skin smoothing effect is between smooth and natural, retaining more skin details than smooth, and the skin smoothing degree is higher than natural. |
Note
setWhitenessLevel:
setWhitenessLevel:
- (void)setWhitenessLevel: | (float)whitenessLevel |
Set whitening level.
Param | DESC |
whitenessLevel | Whitening level, ranging from 0 - 9; 0 indicates to disable the filter, and 9 indicates the most obvious effect. |
Note
getExtension:
getExtension:
- (id) getExtension: |
Get the extension.
Param | DESC |
extensionType |
Note
getMediaDeviceManager
getMediaDeviceManager
Get device management class.
Note
getLiveConnectionManager
getLiveConnectionManager
Get live-connection management class.
Note
getLiveBattleManager
getLiveBattleManager
Get live-battle management class.
Note
callExperimentalAPI:callback:
callExperimentalAPI:callback:
- (id)callExperimentalAPI: | (NSString *)jsonStr |
callback: | (TUIExperimentalAPIResponseBlock)callback |
Call experimental APIs.
Note