腾讯云即时通信IMTUICallEvent_AI解决方案_同尘科技

即时通信 IM 2年前 (2023-04-13) 浏览 55

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折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?