TUICallEngine

TUICallEngine APIs

TUICallEngine is an audio/video call component that does not include UI elements. If TUICallKit does not meet your requirements, you can use the APIs of TUICallEngine to customize your project.

Overview

API
Description
init
Authenticates the basic audio/video call capabilities.
unInit
The destructor function, which releases resources used by TUICallEngine.
Registers an event listener.
Unregisters an event listener.
call
Makes a one-to-one call.
groupCall
Makes a group call.
accept
Accepts a call.
reject
Rejects a call.
hangup
Ends a call.
ignore
Ignores a call.
Invites users to the current group call.
Joins a group call.
Changes the call type, for example, from video call to audio call.
Subscribes to the video stream of a remote user.
Unsubscribes from the video stream of a remote user.
Turns the camera on.
Turns the camera off.
Switches between the front and rear cameras.
Turns the mic on.
Turns the mic off.
Selects the audio playback device (receiver or speaker).
Sets the alias and profile photo.
Sets whether to enable multi-device login for TUICallEngine (supported by the premium package).
Set the rendering mode of video image.
Set the encoding parameters of video encoder.
Query call record.
Delete call record.
Set Blurry Video Effect
Set Virtual Background Image
Set beauty level, support turning off default beauty.

Details

init

This API is used to initialize TUICallEngine. Call it to authenticate the call service and perform other required actions before you call other APIs.
Future<TUIResult> init(int sdkAppID, String userId, String userSig)

unInit

The destructor function, which releases resources used by TUICallEngine.
Future<TUIResult> unInit()

addObserver

This API is used to register an event listener to listen for TUICallObserver events.
Future<void> addObserver(TUICallObserver observer)

removeObserver

This API is used to unregister an event listener.
Future<void> removeObserver(TUICallObserver observer)

call

This API is used to make a (one-to-one) call.
Future<TUIResult> call(String userId, TUICallMediaType mediaType, TUICallParams params)
Parameter
Type
Description
userId
String
The target user ID.
mediaType
The call type, which can be video or audio.
params
An additional parameter, such as roomID, call timeout, offline push info, etc

groupCall

This API is used to make a group call.
Note:
Before making a group call, you need to create an IM group first.
Future<TUIResult> groupCall(String groupId, List<String> userIdList, TUICallMediaType mediaType, TUICallParams params)
Parameter
Type
Description
groupId
String
The group ID.
userIdList
List<String>
The target user IDs.
mediaType
The call type, which can be video or audio.
params
An additional parameter. such as roomID, call timeout, offline push info, etc

accept

This API is used to accept a call. After receiving the onCallReceived() callback, you can call this API to accept the call.
Future<TUIResult> accept()

reject

This API is used to reject a call. After receiving the onCallReceived() callback, you can call this API to reject the call.
Future<TUIResult> reject()

ignore

This API is used to ignore a call. After receiving the onCallReceived(), you can call this API to ignore the call. The caller will receive the onUserLineBusy callback.
Note: If your project involves live streaming or conferencing, you can also use this API to implement the “in a meeting” or “on air” feature.
Future<TUIResult> ignore()

hangup

This API is used to end a call.
Future<TUIResult> hangup()

inviteUser

This API is used to invite users to the current group call.
This API is called by a participant of a group call to invite new users.
Future<void> iniviteUser(List<String> userIdList, TUICallParams params, TUIValueCallback callback)
Parameter
Type
Description
userIdList
List<String>
The target user IDs.
params
An additional parameter. such as roomID, call timeout, offline push info, etc.

joinInGroupCall

This API is used to join a group call.
This API is called by a group member to join the group’s call.
Future<TUIResult> joinInGroupCall(TUIRoomId roomId, String groupId, TUICallMediaType mediaType)
Parameter
Type
Description
roomId
TUIRoomId
The room ID.
groupId
String
The group ID.
mediaType
The call type, which can be video or audio.

switchCallMediaType

This API is used to change the call type.
Future<void> switchCallMediaType(TUICallMediaType mediaType)
Parameter
Type
Description
mediaType
The call type, which can be video or audio.

startRemoteView

This API is used to set the view object to display a remote video.
Future<void> startRemoteView(String userId, intviewId)
Parameter
Type
Description
userId
String
The target user ID.
intviewId
int
The ID of the widget in the video rendering screen

stopRemoteview

This API is used to unsubscribe from the video stream of a remote user.
Future<void> stopRemoteView(String userId)
Parameter
Type
Description
userId
String
The target user ID.

openCamera

This API is used to turn the camera on.
Future<TUIResult> openCamera(TUICamera camera, int? viewId)
Parameter
Type
Description
camera
TUICamera
The front or rear camera.
viewId
int
The ID of the widget in the video rendering screen

closeCamera

This API is used to turn the camera off.
Future<void> closeCamera()

switchCamera

This API is used to switch between the front and rear cameras.
Future<void> switchCamera(TUICamera camera)
Parameter
Type
Description
camera
TUICamera
The front or rear camera.

openMicrophone

This API is used to turn the mic on.
Future<TUIResult> openMicrophone()

closeMicrophone

This API is used to turn the mic off.
Future<void> closeMicrophone()

selectAudioPlaybackDevice

This API is used to select the audio playback device (receiver or speaker). In call scenarios, you can use this API to turn on/off hands-free mode.

Future<void> selectAudioPlaybackDevice(TUIAudioPlaybackDevice device)
Parameter
Type
Description
device
The speaker or receiver.

setSelfInfo

This API is used to set the alias and profile photo. The alias cannot exceed 500 bytes, and the profile photo is specified by a URL.
Future<TUIResult> setSelfInfo(String nickname, String avatar)

enableMultiDeviceAbility

This API is used to set whether to enable multi-device login for TUICallEngine (supported by the premium package).
Future<TUIResult> enableMultiDeviceAbility(bool enable)

setVideoRenderParams

Set the rendering mode of video image.
Future<TUIResult> setVideoRenderParams(String userId, VideoRenderParams params)
Parameter
Type
Description
userId
String
The target user ID.
params
Video render parameters.

setVideoEncoderParams

Set the encoding parameters of video encoder.
This setting can determine the quality of image viewed by remote users, which is also the image quality of on-cloud recording files.
Future<TUIResult> setVideoEncoderParams(VideoEncoderParams params)
Parameter
Type
Description
params
Video encoding parameters

queryRecentCalls

Query call record.
Future<void> queryRecentCalls(TUICallRecentCallsFilter filter, TUIValueCallback callback)
Parameter
Type
Description
filter
Filter condition

deleteRecordCalls

Delete call record.
Future<void> deleteRecordCalls(List<String> callIdList, TUIValueCallback callback)
Parameter
Type
Description
callIdList
List<String>
List of IDs of records to be deleted.

setBeautyLevel

Set beauty level, support turning off default beauty.
Future<TUIResult> setBeautyLevel(double level)
Parameter
Type
Description
level
double
Beauty level, range 0.0 to 9.0.

setBlurBackground

Setting Blurry Video Effect.
void setBlurBackground(int level, Function(int code, String message)? errorCallback)
The parameters are described below:
Parameter
Type
Meaning
level
int
0: Off, 1: Low, 2: Medium, 3: High.

setVirtualBackground

Setting Virtual Background Image.
void setVirtualBackground(String imagePath, Function(int code, String message)? errorCallback)
Parameter
Type
Meaning
imagePath
String
Image Filename. The file needs to be added to the assets of the main project.