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.