腾讯云即时通信IMTUICallEvent_AI解决方案_同尘科技
TUICallEvent API 简介
TUICallEvent API 是音视频通话组件的事件接口。
事件列表
EVENT | 描述 |
TUICallEvent.ERROR | SDK 内部发生了错误 |
TUICallEvent.SDK_READY | SDK 进入 ready 状态时收到该回调 |
TUICallEvent.KICKED_OUT | 重复登录,收到该回调说明被踢出房间 |
TUICallEvent.USER_ACCEPT | 如果有用户接听,那么会收到此回调 |
TUICallEvent.USER_ENTER | 如果有用户同意进入通话,那么会收到此回调 |
TUICallEvent.USER_LEAVE | 如果有用户同意离开通话,那么会收到此回调 |
TUICallEvent.REJECT | 用户拒绝通话 |
TUICallEvent.NO_RESP | 邀请用户无应答 |
TUICallEvent.LINE_BUSY | 邀请方忙线 |
TUICallEvent.USER_VIDEO_AVAILABLE | 远端用户开启/关闭了摄像头, 会收到该回调 |
TUICallEvent.USER_AUDIO_AVAILABLE | 远端用户开启/关闭了麦克风, 会收到该回调 |
TUICallEvent.USER_VOICE_VOLUME | 远端用户说话音量调整, 会收到该回调 |
TUICallEvent.GROUP_CALL_INVITEE_LIST_UPDATE | 群聊更新邀请列表收到该回调 |
TUICallEvent.INVITED | 被邀请进行通话 |
TUICallEvent.CALLING_CANCEL | 作为被邀请方会收到,收到该回调说明本次通话被取消了 |
TUICallEvent.CALLING_END | 收到该回调说明本次通话结束了 |
TUICallEvent.DEVICED_UPDATED | 设备列表更新收到该回调 |
TUICallEvent.CALL_TYPE_CHANGED | 通话类型切换收到该回调 |
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 | 触发超时无响应的用户列表 |
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 | 音量表,根据每个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 | 群组更新邀请列表 |
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 | 同时还被邀请的人 |
isFromGroup | Boolean | 是否是群组通话 |
inviteData | Object | 邀请数据 |
inviteID | String | 邀请 ID, 标识一次邀请 |
CALLING_CANCEL
作为被邀请方会收到,收到该回调说明本次通话被取消了。1. A 呼叫 B,A 挂断,A 会抛出该事件,userID 就是 A2. A 呼叫 B,B 一直接通超时,B 会抛出该事件,userID 是 B3. 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 | 新通话类型 |
对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?