tencent cloud

Feedback

TUICallEngine

Last updated: 2024-07-25 17:49:30

    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.
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support