TUIRoomEngine
Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomEngine @ TUIKitEngine.
Function: TUIRoomEngine Main function APIs.
Version: 12.0
TUIRoomEngine
TUIRoomEngine
FuncList | DESC |
Destroy the TUIRoomEngine instance (singleton mode) | |
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 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. | |
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). | |
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). | |
Set the maximum number of seat (only available before entering room and when creating room). | |
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). | |
Cancel request. | |
Response request. | |
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. |
destroySharedInstance
destroySharedInstance
Destroy the TUIRoomEngine instance (singleton mode)
Note
The function supports the TUIRoomTypeConference and TUIRoomTypeLive room types.Use destroySharedInstance to release the singleton object.
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.
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
If a user is kicked off while online, the SDK will notify you through the $onKickedOffLine$ callback in $TUIRoomObserver$.
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.
Note
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.
Param | DESC |
avatarURL | User avatar URL. |
userName | User name. |
Note
getSelfInfo
getSelfInfo
Return the basic information of the logged-in user, including nickname and avatar.
Note
Return Desc:
setSelfInfo:onSuccess:onError:
setSelfInfo:onSuccess:onError:
+ (void)setSelfInfo: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update user basic information for logged-in user.
Param | DESC |
userInfo | Local user information. |
Note
addObserver:
addObserver:
- (void)addObserver: |
Set event observer.
Param | DESC |
observer | Listening instance. |
Note
removeObserver:
removeObserver:
- (void)removeObserver: |
Remove event observer.
Param | DESC |
observer | The event observer to be removed. |
Note
createRoom:onSuccess:onError:
createRoom:onSuccess:onError:
- (void)createRoom: | |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Create a room.
Param | DESC |
roomInfo |
Note
You can create a conference room or live room through this API.
destroyRoom:onError:
destroyRoom:onError:
- (void)destroyRoom: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Dismiss the room.
Note
After the room was dismissed, the SDK notifies the users in the room through the onRoomDismissed callback in $TUIRoomObserver$.
enterRoom:onSuccess:onError:
enterRoom:onSuccess:onError:
- (void)enterRoom: | (NSString *)roomId |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Enter a room.
Param | DESC |
roomId | Room ID. |
Note
The limit on the number of rooms that a single device can enter at the same time is: 1 for conference and 3 for live . If the limit is exceeded, the device will exit the earliest joined room. When multiple devices log in with the same account, only one device is allowed to enter a conference room with the same ID. When other devices try to enter, the earlier entered device will be kicked out.
After entered the room, the SDK will notify the user in the room through the $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.
Param | DESC |
roomId | Room ID. |
roomType |
Note
The limit on the number of rooms that a single device can enter at the same time is: 1 for conference and 3 for live . If the limit is exceeded, the device will exit the earliest joined room. When multiple devices log in with the same account, only one device is allowed to enter a conference room with the same ID. When other devices try to enter, the earlier entered device will be kicked out.
After entered the room, the SDK will notify the user in the room through the $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.
Param | DESC |
options | |
roomId | Room ID. |
roomType |
Note
The limit on the number of rooms that a single device can enter at the same time is: 1 for conference and 3 for live . If the limit is exceeded, the device will exit the earliest joined room. When multiple devices log in with the same account, only one device is allowed to enter a conference room with the same ID. When other devices try to enter, the earlier entered device will be kicked out.
After entering the room, the SDK will notify the user in the room through the $onRemoteUserEnterRoom$ callback in $TUIRoomObserver$.
exitRoom:onSuccess:onError:
exitRoom:onSuccess:onError:
- (void)exitRoom: | (BOOL)syncWaiting |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Exit the room.
Param | DESC |
syncWaiting | true: wait for exit request finished, false: exit immediately. |
Note
After left the room, the SDK will notify the user in the room through the onRemoteUserLeaveRoom callback in $TUIRoomObserver$.
fetchRoomInfo:onError:
fetchRoomInfo:onError:
- (void)fetchRoomInfo: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Fetch room information.
Note
You can get room information through this API.
fetchRoomInfo:roomType:onSuccess:onError:
fetchRoomInfo:roomType:onSuccess:onError:
- (void)fetchRoomInfo: | (NSString*)roomId |
roomType: | |
onSuccess: | (TUIRoomInfoBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Fetch room information.
Param | DESC |
roomId | Room ID. |
roomType |
Note
Return Desc:
Successfully fetched the room information callback, which will include room information of $TUIRoomInfo.
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).
Param | DESC |
roomName | Room name. |
Note
After the room name was updated, the SDK notifies users in the room through the onRoomNameChanged callback in $TUIRoomObserver$.
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).
Param | DESC |
seatMode | TUISeatModeApplyToTake: Apply to take seat mode, users can only take the seat after the owner or administrator approved. |
Note
After the room seat mode was updated, the SDK will notify users in the room through the onRoomSeatModeChanged callback in $TUIRoomObserver$.
updateRoomPasswordByAdmin:onSuccess:onError:
updateRoomPasswordByAdmin:onSuccess:onError:
- (void)updateRoomPasswordByAdmin: | (NSString *)password |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Update room password.
Param | DESC |
password | Room password. |
Note
getRoomMetadata:onSuccess:onError:
getRoomMetadata:onSuccess:onError:
- (void)getRoomMetadata: | (NSArray<NSString *> *)keys |
onSuccess: | (TUIRoomMetadataResponseBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Get room metadata.
Param | DESC |
keys | Room metadata key list, if keys are passed as empty, all metadata will be retrieved. |
Note
setRoomMetadataByAdmin
setRoomMetadataByAdmin
Set room metadata, if the key already exists, update its value, if not, add the key.
Param | DESC |
metadata | Key-Value in room metadata. |
Note
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
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 onRequestRequestReceived in $TUIRoomObserver$.
Return Desc:
TUIRequest: Request body.
setMaxSeatCount:onSuccess:onError:
setMaxSeatCount:onSuccess:onError:
- (void)setMaxSeatCount: | (NSUInteger)maxSeatCount |
onSuccess: | (TUISuccessBlock)onSuccess |
onError: | (TUIErrorBlock)onError |
Set the maximum number of seat (only available before entering room and when creating room).
Param | DESC |
maxSeatCount | Maximum number of seat. |
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$.
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.
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: TXBeautyStyleSmooth: Smooth; TXBeautyStyleNature: Natural; TXBeautyStylePitu: Pitu style. |
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:
callExperimentalAPI:
+ (id)callExperimentalAPI: | (NSString *)jsonStr |
Call experimental APIs.
Note
- TUIRoomEngine
- destroySharedInstance
- loginWithSDKAppId:userId:userSig:onSuccess:onError:
- logout:onError:
- setSelfInfoWithUserName:avatarUrl:onSuccess:onError:
- getSelfInfo
- setSelfInfo:onSuccess:onError:
- addObserver:
- removeObserver:
- createRoom:onSuccess:onError:
- destroyRoom:onError:
- enterRoom:onSuccess:onError:
- enterRoom:roomType:onSuccess:onError:
- enterRoom:roomType:options:onSuccess:onError:
- exitRoom:onSuccess:onError:
- fetchRoomInfo:onError:
- fetchRoomInfo:roomType:onSuccess:onError:
- updateRoomNameByAdmin:onSuccess:onError:
- updateRoomSeatModeByAdmin:onSuccess:onError:
- updateRoomPasswordByAdmin:onSuccess:onError:
- getRoomMetadata:onSuccess:onError:
- setRoomMetadataByAdmin
- setLocalVideoView:
- openLocalCamera:quality:onSuccess:onError:
- closeLocalCamera
- startPushLocalVideo
- stopPushLocalVideo
- updateVideoQuality:
- updateVideoQualityEx:params:
- setVideoResolutionMode:resolutionMode:
- enableGravitySensor:
- startScreenCaptureByReplaykit:
- startScreenCapture:onSuccess:onError:
- stopScreenCapture
- getScreenCaptureSources
- selectScreenCaptureTarget:
- openLocalMicrophone:onSuccess:onError:
- closeLocalMicrophone
- updateAudioQuality:
- muteLocalAudio
- unmuteLocalAudio:onError:
- enableSystemAudioSharing:
- setRemoteVideoView:streamType:view:
- startPlayRemoteVideo:streamType:onPlaying:onLoading:onError:
- stopPlayRemoteVideo:streamType:
- muteRemoteAudioStream:isMute:
- getUserList:onSuccess:onError:
- getUserInfo:onSuccess:onError:
- changeUserRole:role:onSuccess:onError:
- changeUserNameCard:nameCard:onSuccess:onError:
- kickRemoteUserOutOfRoom:onSuccess:onError:
- addCategoryTagForUsers:userList:onSuccess:onError:
- removeCategoryTagForUsers:userList:onSuccess:onError:
- getUserListByTag:nextSequence:onSuccess:onError:
- setCustomInfoForUser:onSuccess:onError:
- disableDeviceForAllUserByAdmin:isDisable:onSuccess:onError:
- openRemoteDeviceByAdmin:device:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- closeRemoteDeviceByAdmin:device:onSuccess:onError:
- applyToAdminToOpenLocalDevice:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- setMaxSeatCount:onSuccess:onError:
- getSeatList:onError:
- lockSeatByAdmin:lockMode:onSuccess:onError:
- takeSeat:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- leaveSeat:onError:
- moveToSeat:onSuccess:onError:
- takeUserOnSeatByAdmin:userId:timeout:onAccepted:onRejected:onCancelled:onTimeout:onError:
- kickUserOffSeatByAdmin:userId:onSuccess:onError:
- getSeatApplicationList:onError:
- disableSendingMessageByAdmin:isDisable:onSuccess:onError:
- disableSendingMessageForAllUser:onSuccess:onError:
- cancelRequest:onSuccess:onError:
- responseRemoteRequest:agree:onSuccess:onError:
- setBeautyLevel:beautyLevel:
- setWhitenessLevel:
- getExtension:
- getMediaDeviceManager
- getLiveConnectionManager
- getLiveBattleManager
- callExperimentalAPI: