tencent cloud

文档反馈

TUICallEngine

最后更新时间:2024-07-30 11:21:12

    TUICallEngine API 简介

    TUICallEngine API 是音视频通话组件的无 UI 接口,如果 TUICallKit 的交互并不满足您的需求,您可以使用这套接口自己封装交互。

    API 概览

    API
    描述
    创建 TUICallEngine 实例(单例模式)
    销毁 TUICallEngine 实例(单例模式)
    init
    完成音视频通话基础能力的鉴权
    增加事件回调
    移除回调接口
    call
    发起 1v1 通话
    groupCall
    发起群组通话
    accept
    接听通话
    reject
    拒绝通话
    hangup
    结束通话
    ignore
    忽略通话
    在群组通话中,邀请其他人加入
    主动加入当前的群组通话中
    切换通话媒体类型,例如视频通话切音频通话
    开始订阅远端用户视频流
    停止订阅远端用户视频流
    开启摄像头
    关闭摄像头
    切换前后摄像头
    打开麦克风
    关闭麦克风
    选择音频播放设备(听筒/扬声器)
    设置用户的昵称、头像
    开启/关闭 TUICallEngine 的多设备登录模式(群组通话版套餐支持)
    设置用户视频画面的渲染模式
    设置视频编码的编码参数
    高级接口,用于接入第三方美颜等
    设置美颜级别,支持关闭默认美颜

    API 详情

    createInstance

    创建 TUICallEngine 的单例。
    TUICallEngine createInstance(Context context);

    destroyInstance

    销毁 TUICallEngine 的单例。
    void destroyInstance();

    init

    初始化函数,请在使用所有功能之前先调用该函数,以便完成包含通话服务鉴权在内初始化动作。
    void init(int sdkAppId, String userId, String userSig, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    sdkAppId
    int
    您可以在实时音视频控制台 > 应用管理 > 应用信息中查看 SDKAppID
    userId
    String
    当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)
    userSig
    String
    腾讯云设计的一种安全保护签名,获取方式请参见 如何计算及使用 UserSig
    callback
    TUICommonDefine.Callback
    初始化回调,onSuccess表示初始化成功

    addObserver

    添加回调接口,您可以通过这个接口,监听TUICallObserver相关的事件回调。
    void addObserver(TUICallObserver observer);

    removeObserver

    移除回调接口。
    void removeObserver(TUICallObserver observer);

    call

    拨打电话(1v1通话)。
    void call(String userId, TUICallDefine.MediaType callMediaType,
    TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    userId
    String
    目标用户的 userId
    callMediaType
    TUICallDefine.MediaType
    通话的媒体类型,例如:视频通话、语音通话
    params
    TUICallDefine.CallParams
    通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等

    groupCall

    发起群组通话。
    注意:
    使用群组通话前需要创建IM 群组,如果已经创建,请忽略。
    void groupCall(String groupId, List<String> userIdList, TUICallDefine.MediaType callMediaType,
    TUICallDefine.CallParams params, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    groupId
    String
    此次群组通话的群 ID
    userIdList
    List
    目标用户的 userId 列表
    callMediaType
    TUICallDefine.MediaType
    通话的媒体类型,例如:视频通话、语音通话
    params
    TUICallDefine.CallParams
    通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等

    accept

    接受当前通话,当您作为被叫收到 onCallReceived() 的回调时,可以调用该函数接听来电。
    void accept(TUICommonDefine.Callback callback);

    reject

    拒绝当前通话,当您作为被叫收到 onCallReceived() 的回调时,可以调用该函数拒绝来电。
    void reject(TUICommonDefine.Callback callback);

    ignore

    忽略当前通话,当您作为被叫收到 onCallReceived() 的回调时,可以调用该函数忽略来电,此时主叫会收到 onUserLineBusy 的回调。
    备注:如果您的业务中存在直播、会议等场景,在直播/会议中的情况时,也可以调用这个函数来忽略此次来电。
    void ignore(TUICommonDefine.Callback callback);

    hangup

    挂断当前通话,当您处于通话中,可以调用该函数结束通话。
    void hangup(TUICommonDefine.Callback callback);

    inviteUser

    邀请用户加入此次群组通话。
    使用场景:一个群组通话中的用户主动邀请其他人时使用。
    void inviteUser(List<String> userIdList, TUICallDefine.CallParams params,
    TUICommonDefine.ValueCallback callback);
    参数如下表所示:
    参数
    类型
    含义
    userIdList
    List
    目标用户的 userId 列表
    params
    TUICallDefine.CallParams
    通话参数扩展字段,例如:房间号、通话邀请超时时间,离线推送自定义内容等
    注意:
    邀请他人进入当前通话,该场景下,自定义RoomId无效,SDK会邀请他人加入当前邀请者所在的房间。

    joinInGroupCall

    主动加入此次群组通话。
    使用场景:群组内用户主动加入此次群组通话使用。
    void joinInGroupCall(TUICommonDefine.RoomId roomId, String groupId,
    TUICallDefine.MediaType callMediaType, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    roomId
    TUICommonDefine.RoomId
    此次通话的音视频房间 ID
    groupId
    String
    此次群组通话的群 ID
    callMediaType
    TUICallDefine.MediaType
    通话的媒体类型,例如视频通话、语音通话

    switchCallMediaType

    切换视频通话到语音通话。
    void switchCallMediaType(TUICallDefine.MediaType callMediaType);
    参数如下表所示:
    参数
    类型
    含义
    callMediaType
    TUICallDefine.MediaType
    通话的媒体类型,例如视频通话、语音通话

    startRemoteView

    开始订阅远端用户的视频数据。
    void startRemoteView(String userId, TUIVideoView videoView, TUICommonDefine.PlayCallback callback);
    参数如下表所示:
    参数
    类型
    含义
    userId
    String
    目标用户的 userId
    videoView
    TUIVideoView
    待渲染的视图

    stopRemoteView

    停止订阅远端用户的视频数据。
    void stopRemoteView(String userId);
    参数如下表所示:
    参数
    类型
    含义
    userId
    String
    目标用户的 userId

    openCamera

    开启摄像头。
    void openCamera(TUICommonDefine.Camera camera, TUIVideoView videoView, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    camera
    TUICommonDefine.Camera
    前置/后置 摄像头
    videoView
    TUIVideoView
    待渲染的视图

    closeCamera

    关闭摄像头。
    void closeCamera();

    switchCamera

    切换前后摄像头。
    void switchCamera(TUICommonDefine.Camera camera);
    参数如下表所示:
    参数
    类型
    含义
    camera
    TUICommonDefine.Camera
    前置/后置 摄像头

    openMicrophone

    打开麦克风。
    void openMicrophone(TUICommonDefine.Callback callback);

    closeMicrophone

    关闭麦克风。
    void closeMicrophone();

    selectAudioPlaybackDevice

    选择音频播放设备。 目前支持听筒、扬声器,在通话场景中,可以使用这个接口来开启/关闭免提模式。
    void selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice device);
    参数如下表所示:
    参数
    类型
    含义
    device
    TUICommonDefine.AudioPlaybackDevice
    听筒/扬声器

    setSelfInfo

    设置用户昵称、头像。 用户昵称不能超过500字节,用户头像必须是 URL 格式。
    void setSelfInfo(String nickname, String avatar, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    nickname
    String
    用户昵称
    avatar
    String
    用户头像(格式为 URL)

    enableMultiDeviceAbility

    开启/关闭 TUICallEngine 的多设备登录模式 (群组通话版套餐支持)。
    void enableMultiDeviceAbility(boolean enable, TUICommonDefine.Callback callback);

    setVideoRenderParams

    设置用户视频画面的渲染模式。
    void setVideoRenderParams(String userId, TUICommonDefine.VideoRenderParams params, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    userId
    String
    目标用户的 userId
    params
    TUICommonDefine.VideoRenderParams
    视频画面渲染参数,例如:画面旋转角度、填充模式

    setVideoEncoderParams

    设置视频编码的编码参数。
    该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
    void setVideoEncoderParams(TUICommonDefine.VideoEncoderParams params, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    params
    TUICommonDefine.VideoEncoderParams
    视频编码的参数,例如:分辨率、视频宽高比

    getTRTCCloudInstance

    高级接口。
    用于接入第三方美颜等。
    TRTCCloud getTRTCCloudInstance();

    setBeautyLevel

    设置美颜级别,支持关闭默认美颜。
    void setBeautyLevel(float level, TUICommonDefine.Callback callback);
    参数如下表所示:
    参数
    类型
    含义
    level
    float
    美颜级别,取值范围 0 - 9; 0 表示关闭,9 表示效果最明显。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持