tencent cloud

文档反馈

TUICallEvent

最后更新时间:2023-06-30 16:20:29

    TUICallEvent API 简介

    TUICallEvent API 是音视频通话组件的事件接口

    事件列表

    EVENT
    描述
    SDK 内部发生了错误
    SDK 进入 ready 状态时收到该回调
    重复登录,收到该回调说明被踢出房间
    如果有用户接听,那么会收到此回调
    如果有用户同意进入通话,那么会收到此回调
    如果有用户同意离开通话,那么会收到此回调
    用户拒绝通话
    邀请用户无应答
    邀请方忙线
    远端用户开启/关闭了摄像头, 会收到该回调
    远端用户开启/关闭了麦克风, 会收到该回调
    远端用户说话音量调整, 会收到该回调
    群聊更新邀请列表收到该回调
    被邀请进行通话
    作为被邀请方会收到,收到该回调说明本次通话被取消了
    收到该回调说明本次通话结束了
    设备列表更新收到该回调
    通话类型切换收到该回调

    ERROR

    SDK 内部发生了错误。
    let onError = function(error) {
    console.log(error.code, error.msg);
    };
    tuiCallEngine.on(TUICallEvent.ERROR, onError);
    参数如下表所示:
    参数
    类型
    含义
    code
    int
    错误码
    msg
    String
    错误信息

    SDK_READY

    SDK 进入 ready 状态时收到该回调。
    let onSDKReady = function(event) {
    console.log(event);
    };
    tuiCallEngine.on(TUICallEvent.SDK_READY, onSDKReady);

    KICKED_OUT

    重复登录,收到该回调说明被踢出房间。
    let handleOnKickedOut = function(event) {
    console.log(event);
    };
    tuiCallEngine.on(TUICallEvent.KICKED_OUT, handleOnKickedOut);

    USER_ACCEPT

    如果有用户接听,那么会收到此回调。
    let handleUserAccept = function(event) {
    console.log(event.userID);
    };
    tuiCallEngine.on(TUICallEvent.USER_ACCEPT, handleUserAccept);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    接听的用户 ID

    USER_ENTER

    如果有用户同意进入通话,那么会收到此回调。
    let handleUserEnter = function(event) {
    console.log(event.userID);
    };
    tuiCallEngine.on(TUICallEvent.USER_ENTER, handleUserEnter);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    进房的用户 ID

    USER_LEAVE

    如果有用户同意离开通话,那么会收到此回调。
    let handleUserLeave = function(event) {
    console.log(event.userID);
    };
    tuiCallEngine.on(TUICallEvent.USER_LEAVE, handleUserLeave);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    退房的用户 ID

    REJECT

    用户拒绝通话。
    let handleInviteeReject = function(event) {
    console.log(event.userID);
    };
    tuiCallEngine.on(TUICallEvent.REJECT, handleInviteeReject);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    拒绝通话的用户 ID

    NO_RESP

    邀请用户无应答。
    在C2C通话中,只有发起方会收到无人应答的回调 例如 A 邀请 B、C 进入通话,B不应答,A可以收到该回调,但C不行
    在IM群组通话中,所有被邀请人均能收到该回调 例如 A 邀请 B、C 进入通话,B不应答,A、C均能收到该回调
    let handleNoResponse = function(event) {
    console.log(event.sponsor, event.userIDList);
    };
    tuiCallEngine.on(TUICallEvent.NO_RESP, handleNoResponse);
    参数如下表所示:
    参数
    类型
    含义
    sponsor
    String
    发起方的用户 ID
    userIDList
    Array<String>
    触发超时无响应的用户列表

    LINE_BUSY

    邀请方忙线。
    let handleLineBusy = function(event) {
    console.log(event)
    };
    tuiCallEngine.on(TUICallEvent.LINE_BUSY, handleLineBusy);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    忙线用户 ID

    USER_VIDEO_AVAILABLE

    远端用户开启/关闭了摄像头, 会收到该回调。
    let handleUserVideoChange = function(event) {
    console.log(event.userID, event.isVideoAvailable);
    };
    tuiCallEngine.on(TUICallEvent.USER_VIDEO_AVAILABLE, handleUserVideoChange);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    远端用户 ID
    isVideoAvailable
    Boolean
    true 远端用户打开摄像头;false 远端用户关闭摄像头

    USER_AUDIO_AVAILABLE

    远端用户开启/关闭了麦克风, 会收到该回调。
    let handleUserAudioChange = function(event) {
    console.log(event.userID, event.isAudioAvailable);
    };
    tuiCallEngine.on(TUICallEvent.USER_AUDIO_AVAILABLE, handleUserAudioChange);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    远端用户 ID
    isAudioAvailable
    Boolean
    true 远端用户打开麦克风;false 远端用户关闭麦克风

    USER_VOICE_VOLUME

    远端用户说话音量调整, 会收到该回调
    let handleUserVoiceVolumeChange = function(event) {
    console.log(event.volumeMap);
    };
    tuiCallEngine.on(TUICallEvent.USER_VOICE_VOLUME, handleUserVoiceVolumeChange);
    参数如下表所示:
    参数
    类型
    含义
    volumeMap
    Array<Object>
    音量表,根据每个userid可以获取对应的音量大小,音量最小值0,音量最大值100

    GROUP_CALL_INVITEE_LIST_UPDATE

    群聊更新邀请列表收到该回调。
    let handleGroupInviteeListUpdate = function(event) {
    console.log(event.userIDList);
    };
    tuiCallEngine.on(TUICallEvent.GROUP_CALL_INVITEE_LIST_UPDATE, handleGroupInviteeListUpdate);
    参数如下表所示:
    参数
    类型
    含义
    userIDList
    Array<String>
    群组更新邀请列表

    INVITED

    被邀请进行通话。
    let handleNewInvitationReceived = function(event) {
    console.log(event.sponsor, event.userIDList, event.isFromGroup, event.inviteData, event.inviteDate, event.inviteID);
    };
    tuiCallEngine.on(TUICallEvent.INVITED, handleNewInvitationReceived);
    参数如下表所示:
    参数
    类型
    含义
    sponsor
    String
    邀请者
    userIDList
    Array<String>
    同时还被邀请的人
    isFromGroup
    Boolean
    是否是群组通话
    inviteData
    Object
    邀请数据
    inviteID
    String
    邀请 ID, 标识一次邀请

    CALLING_CANCEL

    作为被邀请方会收到,收到该回调说明本次通话被取消了。
    1. A 呼叫 B,A 挂断,A 会抛出该事件,userID 就是 A
    2. A 呼叫 B,B 一直接通超时,B 会抛出该事件,userID 是 B
    3. A 呼叫 B、C、D,B 接通后,A 和 B 都挂断,此时 C 拒绝,此时 B 也会抛出该事件,事件里的 userID 为 C
    let handleCallingCancel = function(event) {
    console.log(event.userID);
    };
    tuiCallEngine.on(TUICallEvent.CALLING_CANCEL, handleCallingCancel);
    参数如下表所示:
    参数
    类型
    含义
    userID
    String
    通话取消的用户 ID

    CALLING_END

    收到该回调说明本次通话结束了。
    let handleCallingEnd = function(event) {
    console.log(event.userID, event.);
    };
    tuiCallEngine.on(TUICallEvent.CALLING_END, handleCallingEnd);
    参数如下表所示:
    参数
    类型
    含义
    roomID
    Number
    此次通话的音视频房间 ID,目前仅支持数字房间号,后续版本会支持字符串房间号
    callMediaType
    Number
    通话的媒体类型,视频通话、语音通话
    callRole
    String
    角色,枚举类型:主叫('inviter')、被叫('invitee')、未知('')
    totalTime
    Number
    此次通话的时长,单位: 秒
    userID
    String
    表示引起通话结束 userID。
    callEnd
    Number
    此次通话的时长(后续将废弃),单位: 秒

    DEVICED_UPDATED

    设备列表更新收到该回调。
    let handleDeviceUpdated = function({ microphoneList, cameraList, currentMicrophoneID, currentCameraID }) {
    console.log(microphoneList, cameraList, currentMicrophoneID, currentCameraID)
    };
    tuiCallEngine.on(TUICallEvent.DEVICED_UPDATED, handleDeviceUpdated);

    CALL_TYPE_CHANGED

    通话类型切换收到该回调。
    let handleCallTypeChanged = function({ oldCallType, newCallType }) {
    console.log(oldCallType, newCallType)
    };
    tuiCallEngine.on(TUICallEvent.CALL_TYPE_CHANGED, handleDeviceUpdated);
    参数如下表所示:
    参数
    类型
    含义
    oldCallType
    Number
    旧通话类型
    newCallType
    Number
    新通话类型
    
    联系我们

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

    技术支持

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

    7x24 电话支持