TUIRoomEngine
Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomEngine @ TUIKitEngine.
Function: TUIRoomEngine Main function APIs.
Version: 2.4.1
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. | |
Get room information. | |
Update room name (only support for administrators or room owner). | |
Update room seat mode (only support for administrators or room owner). | |
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). | |
Stop screen sharing. | |
Open local microphone. | |
Close the local microphone. | |
Update audio encoding quality. | |
Pause publishing the local audio stream. | |
Resume publishing the local audio stream. | |
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). | |
Kick the remote user out of the room (only support for administrators or room owner). | |
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). | |
Cancel request. | |
Response request. | |
Set the beauty level. | |
Set whitening level. | |
Get the extension. | |
Get device management class. | |
Get live-connection management class. | |
Call experimental APIs. |
destroySharedInstance
destroySharedInstance
Destroy the TUIRoomEngine instance (singleton mode)
login
login
void login | (Context context |
| int sdkAppId |
| String userId |
| String userSig |
| TUIRoomDefine.ActionCallback callback) |
After creating a TUIRoomEngine instance, you should login with sdkAppId, userId and userSig then you can call TUIRoomEngine instance and other function.
If a user is kicked off while online, the SDK will notify you through the $onKickedOffLine$ callback in $TUIRoomObserver$.
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 |
logout
logout
void logout | (TUIRoomDefine.ActionCallback callback) |
Log out of your account. If you are in the room, there will be active leaving room and destroying resource operations.
setSelfInfo
setSelfInfo
void setSelfInfo | (String userName |
| String avatarURL |
| TUIRoomDefine.ActionCallback callback) |
Update user name and avatar for logged-in user.
Param | DESC |
avatarURL | User avatar URL. |
userName | User name. |
getSelfInfo
getSelfInfo
Return the basic information of the logged-in user, including nickname and avatar.
Return Desc:
setSelfInfo
setSelfInfo
void setSelfInfo | |
| TUIRoomDefine.ActionCallback callback) |
Update user basic information for logged-in user.
Param | DESC |
userInfo | Local user information. |
addObserver
addObserver
void addObserver |
Set event observer.
Param | DESC |
observer | Listening instance. |
removeObserver
removeObserver
void removeObserver |
Remove event observer.
Param | DESC |
observer | The event observer to be removed. |
createRoom
createRoom
void createRoom | |
| TUIRoomDefine.ActionCallback callback) |
Create a room.
You can create a conference room or live room through this API.
Param | DESC |
roomInfo |
destroyRoom
destroyRoom
void destroyRoom | (TUIRoomDefine.ActionCallback callback) |
Dismiss the room.
After the room was dismissed, the SDK notifies the users in the room through the onRoomDismissed callback in $TUIRoomObserver$.
enterRoom
enterRoom
void enterRoom | (String roomId |
| TUIRoomDefine.GetRoomInfoCallback callback) |
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
enterRoom
void enterRoom | (String roomId |
| |
| TUIRoomDefine.GetRoomInfoCallback callback) |
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
enterRoom
void enterRoom | (String roomId |
| |
| |
| TUIRoomDefine.GetRoomInfoCallback callback) |
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
exitRoom
void exitRoom | (boolean syncWaiting |
| TUIRoomDefine.ActionCallback callback) |
Exit the room.
After left the room, the SDK will notify the user in the room through the onRemoteUserLeaveRoom callback in $TUIRoomObserver$.
Param | DESC |
syncWaiting | true: wait for exit request finished, false: exit immediately. |
fetchRoomInfo
fetchRoomInfo
void fetchRoomInfo | (TUIRoomDefine.GetRoomInfoCallback callback) |
Get room information.
You can get room information through this API.
updateRoomNameByAdmin
updateRoomNameByAdmin
void updateRoomNameByAdmin | (String roomName |
| TUIRoomDefine.ActionCallback callback) |
Update room name (only support for administrators or room owner).
After the room name was updated, the SDK notifies users in the room through the onRoomNameChanged callback in $TUIRoomObserver$.
Param | DESC |
roomName | Room name. |
updateRoomSeatModeByAdmin
updateRoomSeatModeByAdmin
void updateRoomSeatModeByAdmin | |
| TUIRoomDefine.ActionCallback callback) |
Update room seat mode (only support for administrators or room owner).
After the room seat mode was updated, the SDK will notify users in the room through the onRoomSeatModeChanged callback in $TUIRoomObserver$.
Param | DESC |
seatMode | FREE_TO_TAKE: Free to take seat mode, users can take the seat without application; APPLY_TO_TAKE: Apply to take seat mode, users can only take the seat after the owner or administrator approved. |
setLocalVideoView
setLocalVideoView
void setLocalVideoView | (TUIVideoView view) |
Set the local camera to preview the render view.
Param | DESC |
view | Render view. |
openLocalCamera
openLocalCamera
void openLocalCamera | (boolean isFront |
| |
| TUIRoomDefine.ActionCallback callback) |
Open the local camera.
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$.
Param | DESC |
isFront | true: front false: rear (only available on mobile OS). |
closeLocalCamera
closeLocalCamera
Close the local camera.
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.
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.
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.
updateVideoQualityEx
updateVideoQualityEx
void updateVideoQualityEx | |
|
Set the video encoding parameters.
Param | DESC |
params | |
streamType |
setVideoResolutionMode
setVideoResolutionMode
void setVideoResolutionMode | |
|
Set the video resolution mode (horizontal resolution or vertical resolution).
Param | DESC |
resolutionMode | |
streamType |
enableGravitySensor
enableGravitySensor
void enableGravitySensor | (boolean enable) |
Turn on gravity sensing mode. (only availble on mobile OS and the camera capture scene inside the SDK).
Param | DESC |
enable | true: Open false: 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.
startScreenSharing
startScreenSharing
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$.
stopScreenSharing
stopScreenSharing
Stop screen sharing.
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.
openLocalMicrophone
openLocalMicrophone
void openLocalMicrophone | |
| TUIRoomDefine.ActionCallback callback) |
Open local microphone.
After opened the local microphone in a room, the SDK notifies users in the room through the onUserAudioStateChanged callback in $TUIRoomObserver$.
Param | DESC |
quality | Audio quality. |
closeLocalMicrophone
closeLocalMicrophone
Close the local microphone.
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.
muteLocalAudio
muteLocalAudio
Pause publishing the local audio stream.
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
unmuteLocalAudio
void unmuteLocalAudio | (TUIRoomDefine.ActionCallback callback) |
Resume publishing the local audio stream.
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$.
setRemoteVideoView
setRemoteVideoView
void setRemoteVideoView | (String userId |
| |
| TUIVideoView view) |
Set the render view for remote user.
Param | DESC |
streamType | |
userId | Remote user ID. |
view | Render view. |
startPlayRemoteVideo
startPlayRemoteVideo
void startPlayRemoteVideo | (String userId |
| |
| TUIRoomDefine.PlayCallback callback) |
Start playing the remote user's video stream.
Param | DESC |
streamType | |
userId | User ID. |
stopPlayRemoteVideo
stopPlayRemoteVideo
void stopPlayRemoteVideo | (String userId |
|
Stop playing the remote user's video stream.
Param | DESC |
streamType | |
userId | User ID. |
muteRemoteAudioStream
muteRemoteAudioStream
void muteRemoteAudioStream | (String userId |
| boolean 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. |
getUserList
getUserList
void getUserList | (long nextSequence |
| TUIRoomDefine.GetUserListCallback callback) |
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. |
getUserInfo
getUserInfo
void getUserInfo | (String userId |
| TUIRoomDefine.GetUserInfoCallback callback) |
Get user information.
Param | DESC |
userId | User ID. |
changeUserRole
changeUserRole
void changeUserRole | (String userId |
| |
| TUIRoomDefine.ActionCallback callback) |
Change user role (only support for administrators or room owner).
After the user role changed, the SDK will notify the users in the room through the onUserInfoChanged callback in $TUIRoomObserver$.
Param | DESC |
role | |
userId | User ID. |
kickRemoteUserOutOfRoom
kickRemoteUserOutOfRoom
void kickRemoteUserOutOfRoom | (String userId |
| TUIRoomDefine.ActionCallback callback) |
Kick the remote user out of the room (only support for administrators or room owner).
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.
Param | DESC |
userId | User ID. |
getSeatList
getSeatList
void getSeatList | (TUIRoomDefine.GetSeatListCallback callback) |
Get seat list.
lockSeatByAdmin
lockSeatByAdmin
void lockSeatByAdmin | (int seatIndex |
| |
| TUIRoomDefine.ActionCallback callback) |
Lock the seat (only support for administrators or room owner).
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.
Param | DESC |
lockParams | Seat lock parameter. More details, see: $TUISeatLockParam$. |
seatIndex | Seat index. |
takeSeat
takeSeat
Request takeSeat | (int seatIndex |
| int timeout |
| TUIRoomDefine.RequestCallback callback) |
Take the seat.
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$.
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
When the TUISeatMode is ApplyToTake, the operation to take seat need approval from the owner or administrator.
Return Desc:
TUIRequest Request body.
leaveSeat
leaveSeat
void leaveSeat | (TUIRoomDefine.ActionCallback callback) |
Leave the seat.
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
moveToSeat
void moveToSeat | (int targetSeatIndex |
| TUIRoomDefine.ActionCallback callback) |
Move to seat.
After moving seat successfully, the SDK will notify the users in the room through onSeatListChanged in $TUIRoomObserver$.
takeUserOnSeatByAdmin
takeUserOnSeatByAdmin
Request takeUserOnSeatByAdmin | (int seatIndex |
| String userId |
| int timeout |
| TUIRoomDefine.RequestCallback callback) |
Invite user to take the seat (only support for administrators or room owner).
After the API call is successful, the SDK will notify the invited user through onRequestReceived in $TUIRoomObserver$.
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. |
Return Desc:
TUIRequest: Request body.
kickUserOffSeatByAdmin
kickUserOffSeatByAdmin
void kickUserOffSeatByAdmin | (int seatIndex |
| String userId |
| TUIRoomDefine.ActionCallback callback) |
Kick off the user from seat (only support for administrators or room owner).
After the API call is successful, the SDK will notify the users in the room through onSeatListChanged in $TUIRoomObserver$.
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. |
getSeatApplicationList
getSeatApplicationList
void getSeatApplicationList | (TUIRoomDefine.RequestListCallback callback) |
Get the request list of users who want to take the seat in the room (only support for administrators or room owner).
disableSendingMessageByAdmin
disableSendingMessageByAdmin
void disableSendingMessageByAdmin | (String userId |
| boolean isDisable |
| TUIRoomDefine.ActionCallback callback) |
Disable the ability of remote users to send messages (only support for administrators or room owner).
After disabling the ability of remote users to send messages, the SDK notifies the disabled user through onSendMessageForUserDisableChanged in $TUIRoomObserver$.
Param | DESC |
isDisable | true: disable user to send message, false: enable user to send message. |
userId | User ID. |
cancelRequest
cancelRequest
void cancelRequest | (String requestId |
| TUIRoomDefine.ActionCallback callback) |
Cancel request.
After cancelling a request, the SDK will notify the requested user through onRequestCancelled in $TUIRoomObserver$.
Param | DESC |
requestId | Request ID (get from the sent request). |
Note
The API can be used to cancel a request that has been sent.
responseRemoteRequest
responseRemoteRequest
void responseRemoteRequest | (String requestId |
| boolean agree |
| TUIRoomDefine.ActionCallback callback) |
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
setBeautyLevel
void setBeautyLevel | (int beautyStyle |
| 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. |
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. |
getExtension
getExtension
Object getExtension |
Get the extension.
Param | DESC |
extensionType |
getMediaDeviceManager
getMediaDeviceManager
Get device management class.
getLiveConnectionManager
getLiveConnectionManager
Get live-connection management class.
callExperimentalAPI
callExperimentalAPI
Object callExperimentalAPI | (String jsonStr) |
Call experimental APIs.
- TUIRoomEngine
- destroySharedInstance
- login
- logout
- setSelfInfo
- getSelfInfo
- setSelfInfo
- addObserver
- removeObserver
- createRoom
- destroyRoom
- enterRoom
- enterRoom
- enterRoom
- exitRoom
- fetchRoomInfo
- updateRoomNameByAdmin
- updateRoomSeatModeByAdmin
- setLocalVideoView
- openLocalCamera
- closeLocalCamera
- startPushLocalVideo
- stopPushLocalVideo
- updateVideoQuality
- updateVideoQualityEx
- setVideoResolutionMode
- enableGravitySensor
- startScreenSharing
- stopScreenSharing
- openLocalMicrophone
- closeLocalMicrophone
- updateAudioQuality
- muteLocalAudio
- unmuteLocalAudio
- setRemoteVideoView
- startPlayRemoteVideo
- stopPlayRemoteVideo
- muteRemoteAudioStream
- getUserList
- getUserInfo
- changeUserRole
- kickRemoteUserOutOfRoom
- getSeatList
- lockSeatByAdmin
- takeSeat
- leaveSeat
- moveToSeat
- takeUserOnSeatByAdmin
- kickUserOffSeatByAdmin
- getSeatApplicationList
- disableSendingMessageByAdmin
- cancelRequest
- responseRemoteRequest
- setBeautyLevel
- setWhitenessLevel
- getExtension
- getMediaDeviceManager
- getLiveConnectionManager
- callExperimentalAPI