tencent cloud

Tencent Real-Time Communication

Release Notes and Announcements
Release Notes
Recent Product Announcement
TRTC Live (TUILiveKit) Product Launch Announcement
TRTC Conference Official Editions Launched
The commercial version of Conference is coming soon
Terms and Conditions Applicable to $9.9 Starter Package
Rules for the "First Subscription $100 Discount" Promotion
Announcement on the Start of Beta Testing for Multi-person Audio and Video Conference
TRTC Call Official Editions Launched
License Required for Video Playback in New Version of LiteAV SDK
TRTC to Offer Monthly Packages
Product Introduction
Overview
Concepts
Features
Strengths
Use Cases
Performance Statistics
Tencent RTC Quickplay: Experience Ultimate Real-Time Audio and Video Interaction!
Purchase Guide
Billing Overview
Free Minutes
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
FAQs
Refund Instructions
User Tutorial
Free Demo
Call
Overview
Activate the Service
Run Demo
Integration
Offline Call Push
Conversational Chat
On-Cloud Recording
AI Noise Reduction
UI Customization
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
Release Notes
FAQs
Conference
Overview(TUIRoomKit)
Activate the Service (TUIRoomKit)
Run Demo(TUIRoomKit)
Integration(TUIRoomKit)
Screen Sharing (TUIRoomKit)
Schedule a meeting (TUIRoomKit)
In-meeting Call (TUIRoomKit)
UI Customization(TUIRoomKit)
Virtual Background (TUIRoomKit)
Conference Control (TUIRoomKit)
Cloud Recording (TUIRoomKit)
AI Noise Reduction (TUIRoomKit)
In-Conference Chat (TUIRoomKit)
Robot Streaming (TUIRoomKit)
Enhanced Features (TUIRoomKit)
Client APIs (TUIRoomKit)
Server APIs (TUIRoomKit)
FAQs (TUIRoomKit)
Error Code (TUIRoomKit)
SDK Update Log (TUIRoomKit)
Live
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Run Demo
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK Download
API Examples
Usage Guidelines
API Reference Manual
Advanced Features
AI Integration
Overview
Configure MCP Server
Install Skills
Integration Guide
FAQ
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
Console Guide
Application Management
Package Management
Usage Statistics
Monitoring Dashboard
Development Assistance
Solution
Real-Time Chorus
FAQs
Migration Guide
Billing
Features
UserSig
Firewall Restrictions
How to Downsize Installation Package
Android and iOS
Web
Flutter
Electron
TRTCCalling for Web
Audio and Video Quality
Others
Legacy Documentation
RTC RoomEngine SDK(Old)
Integrating TUIRoom (Web)
Integrating TUIRoom (Android)
Integrating TUIRoom (iOS)
Integrating TUIRoom (Flutter)
Integrating TUIRoom (Electron)
TUIRoom APIs
On-Cloud Recording and Playback (Old)
RTC Analytics Monthly Packages (Previous Version)
Protocols and Policies
Compliance
Security White Paper
Notes on Information Security
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC Policy
Privacy Policy
Data Processing And Security Agreement
Glossary

TUICallEngine

PDF
Focus Mode
Font Size
Last updated: 2025-11-25 14:28:26

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.
calls
Start a call.
accept
Accepts a call.
reject
Rejects a call.
hangup
Ends a call.
ignore
Ignores a call.
Invite others to join the call.
join
Join the 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.
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)

calls

Initiate a call. Supported by v2.9+.
Future<TUIResult> calls(List<String> userIdList, TUICallMediaType mediaType, TUICallParams params)
Parameter
Type
Description
userIdList
List<String>
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.
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.

join

Actively join the call. Supported by v2.9+.
Future<void> join(String callId)
Parameter
Type
Description
callId
String
Unique ID for this call.

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

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.

Deprecated interfaces

call

This API is used to make a (one-to-one) call.
Note:
This interface has been deprecated in v2.9+. It is recommended to use the calls interface instead.
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.
Before making a group call, you need to create an IM group first.
Note:
This interface has been deprecated in v2.9+. It is recommended to use the calls interface instead.
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.

joinInGroupCall

This API is used to join a group call.
This API is called by a group member to join the group’s call.
Note:
This interface has been deprecated in v2.9+. It is recommended to use the join interface instead.
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.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback