please select
Call
  • Web
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • Run Sample Code
      • Integration (React)
      • Integration (Vue3)
      • Secure authentication with userSig
    • Basic Features
      • UI Customization
      • Configuring Nickname and Avatar
      • GroupCall
      • Floating Window
      • Custom Ringtone
      • Configure Resolution and Fill Mode
      • Monitoring Call Status
      • Language Settings
    • Advanced Features
      • Virtual Background
      • AI Noise Suppression
      • On-Cloud Recording
    • Client APIs
      • UIKit APIs
        • API Overview
        • TUICallKit
      • Engine APIs
        • TUICallEngine
        • TUICallEvent
    • Server APIs
      • Call Status Callback
        • Call Status Callback
        • Call Event Callback
        • Callback Configuration
          • API List for Callback Configuration
          • Establishing Callback Configuration
          • Retrieving Callback Configuration
          • Update Callback Configuration
          • Remove Callback Configuration
      • REST API
        • Introduction to REST API
        • Retrieve records via callId
        • Retrieve Records Based on Conditions
    • FAQs
      • All Platfroms
      • Web
      • ErrorCode
      • Release Notes
  • Android
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • Run Sample Code
      • Integration
      • Secure authentication with userSig
    • Basic Features
      • UI Customization
      • Offline Call Push
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • Advanced Features
      • Virtual Background
      • AI Noise Suppression
      • On-Cloud Recording
    • Client APIs
      • UIKit APIs
        • API Overview
        • TUICallKit
        • TUICallObserver
        • Type Definition
      • Engine APIs
        • TUICallEngine
    • Server APIs
      • Call Status Callback
        • Call Status Callback
        • Call Event Callback
        • Callback Configuration
          • API List for Callback Configuration
          • Establishing Callback Configuration
          • Retrieving Callback Configuration
          • Update Callback Configuration
          • Remove Callback Configuration
      • REST API
        • Introduction to REST API
        • Retrieve records via callId
        • Retrieve Records Based on Conditions
    • FAQs
      • All Platforms
      • Android
      • ErrorCode
      • Release Notes
  • iOS
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • Run Sample Code
      • Integration
      • Secure authentication with userSig
    • Basic Features
      • UI Customization
      • Offline Call Push
        • VoIP
        • APNs
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • Advanced Features
      • Virtual Background
      • AI Noise Suppression
      • On-Cloud Recording
    • Client APIs
      • UIKit APIs
        • API Overview
        • TUICallKit
        • TUICallObserver
        • Type Definition
      • Engine APIs
        • TUICallEngine
    • Server APIs
      • Call Status Callback
        • Call Status Callback
        • Call Event Callback
        • Callback Configuration
          • API List for Callback Configuration
          • Establishing Callback Configuration
          • Retrieving Callback Configuration
          • Update Callback Configuration
          • Remove Callback Configuration
      • REST API
        • Introduction to REST API
        • Retrieve records via callId
        • Retrieve Records Based on Conditions
    • FQAs
      • All Platform
      • iOS
      • ErrorCode
      • Release Notes
  • Flutter
    • Overview
      • Product Introduction
      • Activate the Service
      • Pricing
        • Free Minutes
        • Call Monthly Packages
        • Billing Explanation for Subscription Package Duration
    • Get Started
      • Run Sample Code
      • Integration
      • Secure authentication with userSig
    • Basic Features
      • UI Customization
      • offline Call Push
        • Notification
        • VoIP (Optional)
      • Configuring Nicknames and Avatars
      • Group Call
      • Floating Window
      • Custom Ringtone
      • Monitoring Call Status
    • Advanced Features
      • Virtual Background
      • AI Noise Suppression
      • On-Cloud Recording
      • Beauty Effects
    • Client APIs
      • API Overview
      • TUICallKit
      • TUICallEngine
      • TUICallObserver
      • Type Definition
    • Server APIs
      • Call Status Callback
        • Call Status Callback
        • Call Event Callback
        • Callback Configuration
          • API List for Callback Configuration
          • Establishing Callback Configuration
          • Retrieving Callback Configuration
          • Update Callback Configuration
          • Remove Callback Configuration
      • REST API
        • Introduction to REST API
        • Retrieve records via callId
        • Retrieve Records Based on Conditions
    • FQAs
      • All Platform
      • Flutter
      • ErrorCode
      • Upgrading
      • Release Notes
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
Create a TUICallEngine instance (singleton).
Destroy TUICallEngine instance (singleton).
init
Authenticates the basic audio/video call capabilities.
Add listener.
Remove listener.
call
Make a one-to-one call.
groupCall
Make a group call.
accept
Accept call.
reject
Reject call.
hangup
Hang up call.
ignore
Ignore call.
Invite users to the current group call.
Join a group call.
Switch the call media type, such as from video call to audio call.
Subscribe to the video stream of a remote user.
Unsubscribe from the video stream of a remote user.
Turn on the camera.
Turn off the camera.
Switch camera.
Enable microphone.
Disable the microphone.
Select the audio playback device (Earpiece/Speakerphone).
Set the user's profile picture and nickname.
Sets whether to enable multi-device login for TUICallEngine (supported by the Group Call package).
Set the rendering mode of video.
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;

destroyInstance

This API is used to Destroy 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:(NSString *)sdkAppID userId:(NSString *)userId userSig:(NSString *)userSig succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
sdkAppID
NSString
You can view SDKAppID in Application Management > Application Info of the TRTC console.
userId
NSString
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
NSString
Tencent Cloud's proprietary security signature. For how to calculate and use it, see UserSig.

addObserver

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

removeObserver

This API is used to unregister an event listener.
- (void)removeObserver:(id<TUICallObserver>)observer;

call

This API is used to make a (one-to-one) call.
- (void)call:(NSString *)userId callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail
Parameter
Type
Description
userId
NSString
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.
Note:
Before making a group call, you need to create an Chat group first.
- (void)groupCall:(NSString *)groupId userIdList:(NSArray <NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail
Parameter
Type
Description
groupId
NSString
The group ID.
userIdList
NSArray
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:(TUICallSucc)succ fail:(TUICallFail)fail;

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:(TUICallSucc)succ fail:(TUICallFail)fail;

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:(TUICallSucc)succ fail:(TUICallFail)fail;

hangup

This API is used to end a call.
- (void)hangup:(TUICallSucc)succ fail:(TUICallFail)fail;

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:(NSArray<NSString *> *)userIdList params:(TUICallParams *)params succ:(void(^)(NSArray <NSString *> *userIdList))succ fail:(TUICallFail)fail
Parameter
Type
Description
userIdList
NSArray
The target user IDs.
params
An additional parameter. such as roomID, call timeout, offline push info, etc
Note:
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:(TUIRoomId *)roomId groupId:(NSString *)groupId callMediaType:(TUICallMediaType)callMediaType succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
roomId
TUIRoomId
The room ID.
groupId
NSString
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:(TUICallMediaType)newType;
Parameter
Type
Description
callMediaType
The call type, which can be video or audio.

startRemoteView

This API is used to set the view object to display a remote video.
- (void)startRemoteView:(NSString *)userId videoView:(TUIVideoView *)videoView onPlaying:(void(^)(NSString *userId))onPlaying onLoading:(void(^)(NSString *userId))onLoading onError:(void(^)(NSString *userId, int code, NSString *errMsg))onError;
Parameter
Type
Description
userId
NSString
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:(NSString *)userId;
Parameter
Type
Description
userId
NSString
The target user ID.

openCamera

This API is used to turn the camera on.
- (void)openCamera:(TUICamera)camera videoView:(TUIVideoView *)videoView succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
camera
TUICamera
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:(TUICamera)camera;
Parameter
Type
Description
camera
TUICamera
The front or rear camera.

openMicrophone

This API is used to turn the microphone on.
- (void)openMicrophone:(TUICallSucc)succ fail:(TUICallFail)fail;

closeMicrophone

This API is used to turn the microphone off.
- (void)closeMicrophone;

selectAudioPlaybackDevice

This API is used to select the audio playback device ( Earpiece and Speakerphone). In call scenarios, you can use this API to turn on/off hands-free mode.
- (void)selectAudioPlaybackDevice:(TUIAudioPlaybackDevice)device;
Parameter
Type
Description
device
The Earpiece and Speakerphone.

setSelfInfo

This API is used to set the nickname and profile picture. The nickname cannot exceed 500 bytes, and the profile picture is specified by a URL.
- (void)setSelfInfo:(NSString * _Nullable)nickName avatar:(NSString * _Nullable)avatar succ:(TUICallSucc)succ fail:(TUICallFail)fail;

enableMultiDeviceAbility

This API is used to set whether to enable multi-device login for TUICallEngine (supported by the Group Call package).
- (void)enableMultiDeviceAbility:(BOOL)enable succ:(TUICallSucc)succ fail:(TUICallFail)fail;

setVideoRenderParams

Set the rendering mode of video image.
- (void)setVideoRenderParams:(NSString *)userId params:(TUIVideoRenderParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
userId
NSString
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:(TUIVideoEncoderParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
params
Video encoding parameters

getTRTCCloudInstance

Advanced features.
- (TRTCCloud *)getTRTCCloudInstance;

setBeautyLevel

Set beauty level, support turning off default beauty.

- (void)setBeautyLevel:(CGFloat)level succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter
Type
Description
level
CGFloat
Beauty level,range: 0 - 9; 0 means turning off the effect, 9 means the most obvious effect.