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). | |
Authenticates the basic audio/video call capabilities. | |
Add listener. | |
Remove listener. | |
Initiate a one-to-one or multi-person call | |
Proactively join a call | |
Accept call. | |
Reject call. | |
Hang up call. | |
Ignore call. | |
Invite users to the current 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. | |
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 | |
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 |
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;
calls
Initiate a call.
- (void)calls:(NSArray<NSString *> *)userIdList callMediaType:(TUICallMediaType)callMediaType params:(TUICallParams *)params succ:(TUICallSucc)succ fail:(TUICallFail)fail;
The parameters are described below:
Parameter | Type | Meaning |
userIdList | NSArray | List of target users' userId |
callMediaType | Media type of the call, such as video call or voice call | |
params | Call extension parameters, such as room number, call invitation timeout, offline push content, etc |
join
Proactively join a call.
- (void)join:(NSString *)callId succ:(TUICallSucc)succ fail:(TUICallFail)fail
The parameters are described below:
Parameter | Type | Meaning |
callId | NSString | Unique ID for this call |
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 call.
This API is called by a participant of a 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.
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 | 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 | 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. |
Deprecated Interface
call
This API is used to make a (one-to-one) call. Note: it is recommended to use the calls API.
- (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: it is recommended to use the calls API.
- (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 |
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: it is recommended to use the join API.
- (void)joinInGroupCall:(TUIRoomId *)roomId groupId:(NSString *)groupId callMediaType:(TUICallMediaType)callMediaType succ:(TUICallSucc)succ fail:(TUICallFail)fail;
Parameter | Type | Description |
roomId | The room ID. | |
groupId | NSString | The group ID. |
callMediaType | The call type, which can be video or audio. |