Join Tencent RTC at NAB Show 2024 in Las Vegas!
Learn more 
Only  $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Only $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Grab It Now 
Join Tencent RTC at NAB Show 2024 in Las Vegas!
Learn more 
Only  $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Only $9.9! Get 50,000 minutes with our Starter Plan, perfect for your MVP project.
Grab It Now 
Call
Overview
  • Android
    • Integration
    • UI Customization
    • Offline Call Push
    • On-Cloud Recording
    • More Features
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • API Documentation
      • API Overview
      • TUICallKit
      • TUICallEngine
      • TUICallObserver
      • Type Definition
    • Release Notes
  • iOS
    • Integration
    • UI Customization
    • Offline Call Push
      • VoIP
      • APNs
    • On-Cloud Recording
    • More Features
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • API Documentation
      • API Overview
      • TUICallKit
      • TUICallEngine
      • TUICallObserver
      • Type Definition
    • Release Notes
  • Web
    • Integration
      • Web&H5 (React)
      • Web&H5 (Vue3)
    • UI Customization
    • On-Cloud Recording
    • More Features
      • Configuring Nicknames and Avatars
      • Configure Resolution and Fill Mode
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • API Documentation
      • API Overview
      • TUICallKit
      • TUICallEngine
      • TUICallEvent
    • Release Notes
  • Flutter
    • Integration
    • Offline Call Push
    • UI Customization
    • On-Cloud Recording
    • More Features
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Beauty Effects
      • Custom Ringtone
      • Monitoring Call Status
    • API Documentation
      • API Overview
      • TUICallKit
      • TUICallEngine
      • TUICallObserver
      • Type Definition
    • Upgrading
    • Release Notes
  • Overview
    • Overview
  • Activate the Service
  • Pricing
    • Call Monthly Packages
    • Pay-As-You-Go
    • Free Minutes
  • ErrorCode
  • FAQs
    • All Platform
    • Flutter
    • Web
Call

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
Creates a TUICallEngine instance (singleton mode).
Terminates a TUICallEngine instance (singleton mode).
init
Authenticates the basic audio/video call capabilities.
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.
Advanced features.
Set beauty level, support turning off default beauty.

Details

createInstance

This API is used to create a TUICallEngine singleton.
TUICallEngine createInstance(Context context)

destroyInstance

This API is used to terminate a TUICallEngine singleton.
void destroyInstance();

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.
void init(int sdkAppId, String userId, String userSig, TUICommonDefine.Callback callback)
The parameters are described below:
Parameter
Type
Description
sdkAppId
int
You can view SDKAppID in Application Management > Application Info of the TRTC console.
userId
String
The ID of the current user, which is a string that can contain only letters (a-z and A-Z), digits (0-9), hyphens (-), and underscores (_).
userSig
String
Tencent Cloud's proprietary security signature. For how to calculate and use it, see UserSig.
callback
TUICommonDefine.Callback
The initialization callback. onSuccess indicates initialization is successful.

addObserver

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

removeObserver

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

call

This API is used to make a (one-to-one) call.
void call(String userId, TUICallDefine.MediaType callMediaType,
TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
userId
String
The target user ID.
callMediaType
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.
Notice:
Before making a group call, you need to create an IM group first.
void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType callMediaType,
TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
groupId
String
The group ID.
userIdList
List
The target user IDs.
callMediaType
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.
void accept(TUICommonDefine.Callback callback);

reject

This API is used to reject a call. After receiving the onCallReceived() callback, you can call this API to reject the call.
void reject(TUICommonDefine.Callback callback);

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.
void ignore(TUICommonDefine.Callback callback);

hangup

This API is used to end a call.
void hangup(TUICommonDefine.Callback callback);

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.
void inviteUser(List<String> userIdList, TUICallDefine.CallParams params,
TUICommonDefine.ValueCallback callback);
The parameters are described below:
Parameter
Type
Description
userIdList
List
The target user IDs.
params
An additional parameter. such as roomID, call timeout, offline push info,etc
Notice:
In this case, the custom RoomId is invalid. The SDK will invite others to join the room where the inviter is currently located.

joinInGroupCall

This API is used to join a group call.
This API is called by a group member to join the group’s call.
void joinInGroupCall(TUICommonDefine.RoomId roomId, String groupId,
TUICallDefine.MediaType callMediaType, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
roomId
The room ID.
groupId
String
The group ID.
callMediaType
The call type, which can be video or audio.

switchCallMediaType

This API is used to change the call type.
void switchCallMediaType(TUICallDefine.MediaType callMediaType);
The parameters are described below:
Parameter
Type
Description
callMediaType
The call type, which can be video or audio.

startRemoteView

This API is used to subscribe to the video stream of a remote user. For it to work, make sure you call it after setRenderView.
void startRemoteView(String userId, TUIVideoView videoView, TUICommonDefine.PlayCallback callback);
The parameters are described below:
Parameter
Type
Description
userId
String
The target user ID.
videoView
TUIVideoView
The view to be rendered.

stopRemoteView

This API is used to unsubscribe from the video stream of a remote user.
void stopRemoteView(String userId);
The parameters are described below:
Parameter
Type
Description
userId
String
The target user ID.

openCamera

This API is used to turn the camera on.
void openCamera(TUICommonDefine.Camera camera, TUIVideoView videoView, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
camera
The front or rear camera.
videoView
TUIVideoView
The view to be rendered.

closeCamera

This API is used to turn the camera off.
void closeCamera();

switchCamera

This API is used to switch between the front and rear cameras.
void switchCamera(TUICommonDefine.Camera camera);
The parameters are described below:
Parameter
Type
Description
camera
The front or rear camera.

openMicrophone

This API is used to turn the mic on.
void openMicrophone(TUICommonDefine.Callback callback);

closeMicrophone

This API is used to turn the mic off.
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.
void selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice device);
The parameters are described below:
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.
void setSelfInfo(String nickname, String avatar, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
nickname
String
The alias.
avatar
String
The URL of the profile photo.

enableMultiDeviceAbility

This API is used to set whether to enable multi-device login for TUICallEngine (supported by the premium package).
void enableMultiDeviceAbility(boolean enable, TUICommonDefine.Callback callback);

setVideoRenderParams

Set the rendering mode of video image.
void setVideoRenderParams(String userId, TUICommonDefine.VideoRenderParams params, TUICommonDefine.Callback callback);
The parameters are described below:
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.
void setVideoEncoderParams(TUICommonDefine.VideoEncoderParams params, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
params
Video encoding parameters

getTRTCCloudInstance

Advanced features.
TRTCCloud getTRTCCloudInstance();

setBeautyLevel

Set beauty level, support turning off default beauty.
void setBeautyLevel(float level, TUICommonDefine.Callback callback);
The parameters are described below:
Parameter
Type
Description
level
float
Beauty level,range: 0 - 9;
0 means turning off the effect, 9 means the most obvious effect.