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;

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:(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.
Notice:
Before making a group call, you need to create an IM 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
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:(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 mic on.
- (void)openMicrophone:(TUICallSucc)succ fail:(TUICallFail)fail;

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:(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.
- (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 premium 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.