TUICallEvent

最近更新时间:2025-06-25 15:58:52

我的收藏

TUICallEvent API 简介

TUICallEvent API 是音视频通话组件的事件接口
API
含义
通话过程中错误回调。
通话请求的回调。
通话取消的回调。
通话接通的回调。
通话结束的回调。
xxxx 用户拒绝通话的回调。
xxxx 用户不响应的回调。
xxxx 用户忙线的回调。
xxxx 用户加入通话的回调。
xxxx 用户离开通话的回调。
通话的媒体类型发生改变的回调。
当前用户被移下线。
在线时票据过期。
xxx 用户是否有视频流的回调。
xxx 用户是否有音频流的回调。
所有用户音量大小的反馈回调。
所有用户网络质量的反馈回调。

事件详情

onError

错误回调。
TUICallKit.on(TUICallEvent.onError, (res: any) => {
console.log('onError code=' + res.code + ',message=' + res.message);
});
参数
类型
含义
errorCode
Number
错误码。
message
String
错误信息。

onCallReceived

收到一个新的来电请求回调。
TUICallKit.on(TUICallEvent.onCallReceived, (res: any) => {
console.log('onCallReceived callerId=' + res.callerId);
});
参数
类型
含义
callerId
String
主叫 ID(邀请方)。
calleeIdList
Array<String>
被叫 ID 列表(被邀请方)。
groupId
String
群组通话 ID。
callMediaType
Number
通话的媒体类型,例如视频通话、语音通话。
params.callMediaType = 0:语音通话。
params.callMediaType = 1:视频通话。
userData
String
用户增加的扩展字段。

onCallCancelled

表示此次通话主叫取消、被叫超时、拒接等,涉及多个场景。
主叫取消:主叫收到该回调(callerId 为自己);被叫收到该回调(callerId 为主叫的 ID)
被叫超时:主叫会同时收到 onUserNoResponse 和 onCallCancelled 回调(callerId 是自己的 ID);被叫收到 onCallCancelled 回调(callerId 是自己的 ID)
被叫拒接:主叫会同时收到 onUserReject 和 onCallCancelled 回调(callerId 是自己的 ID);被叫收到 onCallCancelled 回调(callerId 是自己的 ID)
被叫忙线:主叫会同时收到 onUserLineBusy 和 onCallCancelled 回调(callerId 是自己的 ID)
异常中断:被叫接收通话失败,收到该回调(callerId 是自己的 ID)
TUICallKit.on(TUICallEvent.onCallCancelled, (res: any) => {
console.log('onCallCancelled userId=' + res.callerId);
});
参数
类型
含义
callerId
String
主叫 ID(邀请方)。

onCallBegin

表示通话接通,主叫和被叫都可以收到,您可以通过监听这个事件来开启云端录制、内容审核等流程。
TUICallKit.on(TUICallEvent.onCallBegin, (res: any) => {
console.log('onCallBegin strRoomId=' + res.roomId.strRoomId + ', callMediaType=' + res.callMediaType + ',callRole=' + res.callRole);
});
参数
类型
含义
roomId
RoomId
roomId.intRoomId:此次通话的音视频房间 ID (int 类型)。
roomId.strRoomId:此次通话的音视频房间 ID (String 类型)。
callMediaType
Number
通话的媒体类型,视频通话、语音通话。
params.callMediaType = 0:语音通话。
params.callMediaType = 1:视频通话。
callRole
Number
角色,枚举类型:主叫、被叫。
params.callRole = 0:未知类型。
params.callRole = 1:主叫(邀请方)。
params.callRole = 2:被叫(被邀请方)。

onCallEnd

表示通话挂断,主叫和被叫都可以收到,您可以通过监听这个事件来显示通话时长、通话类型等信息,或者来停止云端的录制流程。
TUICallKit.on(TUICallEvent.onCallEnd, (res: any) => {
console.log('onCallEnd strRoomId=' + res.roomId.strRoomId
+ ',callMediaType=' + res.callMediaType
+ ',callRole=' + res.callRole
+ ',totalTime=' + res.totalTime);
});
参数
类型
含义
roomId
RoomId
roomId.intRoomId: 此次通话的音视频房间 ID (int 类型)。
roomId.strRoomId: 此次通话的音视频房间 ID (String 类型)。
callMediaType
Number
通话的媒体类型,视频通话、语音通话。
params.callMediaType = 0:语音通话。
params.callMediaType = 1:视频通话。
callRole
Number
角色,枚举类型:主叫、被叫。
params.callRole = 0:未知类型。
params.callRole = 1:主叫(邀请方)。
params.callRole = 2:被叫(被邀请方)。
totalTime
Number
此次通话的时长,单位:秒。

onUserReject

通话被拒绝的回调,在1v1 通话中,只有主叫方会收到拒绝回调,在群组通话中,所有被邀请者都可以收到该回调。
TUICallKit.on(TUICallEvent.onUserReject, (res: any) => {
console.log('onUserReject userId=' + res.userId);
});
参数
类型
含义
userId
String
拒绝用户的 ID。

onUserNoResponse

对方无回应的回调。
TUICallKit.on(TUICallEvent.onUserNoResponse, (res: any) => {
console.log('onUserNoResponse userId=' + res.userId);
});
参数
类型
含义
userId
String
无响应用户的 ID。

onUserLineBusy

通话忙线回调。
TUICallKit.on(TUICallEvent.onUserLineBusy, (res: any) => {
console.log('onUserLineBusy userId=' + res.userId);
});
参数
类型
含义
userId
String
拒绝用户的 ID。

onUserJoin

有用户进入此次通话的回调。
TUICallKit.on(TUICallEvent.onUserJoin, (res: any) => {
console.log('onUserJoin userId=' + res.userId);
});
参数
类型
含义
userId
String
加入当前通话的用户 ID。

onUserLeave

有用户离开此次通话的回调。
TUICallKit.on(TUICallEvent.onUserLeave, (res: any) => {
console.log('onUserLeave userId=' + res.userId);
});
参数
类型
含义
userId
String
离开当前通话的用户 ID。

onCallMediaTypeChanged

表示通话的媒体类型发生变化。
TUICallKit.on(TUICallEvent.onCallMediaTypeChanged, (res: any) => {
console.log('onCallMediaTypeChanged oldCallMediaType=' + res.oldCallMediaType + ',newCallMediaType=' + res.newCallMediaType);
});
参数
类型
含义
oldCallMediaType
MediaType
旧的通话类型。
newCallMediaType
MediaType
新的通话类型。

onKickedOffline

当前用户被移下线:此时可以 UI 提示用户,并重新调用初始化。
TUICallKit.on(TUICallEvent.onKickedOffline, (res: any) => {
console.log('onKickedOffline');
});

onUserSigExpired

在线时票据过期:此时您需要生成新的 userSig,并重新调用初始化。
TUICallKit.on(TUICallEvent.onUserSigExpired, (res: any) => {
console.log('onUserSigExpired');
});

onUserVideoAvailable

用户是否开启视频上行回调。
TUICallKit.on(TUICallEvent.onUserVideoAvailable, (res: any) => {
console.log('onUserVideoAvailable userId=' + res.userId + 'isVideoAvailable=' + res.isVideoAvailable);
});
参数
类型
含义
userId
String
通话用户 ID。
isVideoAvailable
boolean
用户视频是否可用。

onUserAudioAvailable

用户是否开启音频上行回调。
TUICallKit.on(TUICallEvent.onUserAudioAvailable, (res: any) => {
console.log('onUserAudioAvailable userId=' + res.userId + 'isAudioAvailable=' + res.isAudioAvailable);
});
参数
类型
含义
userId
String
用户 ID。
isAudioAvailable
boolean
用户音频是否可用。

onUserVoiceVolumeChanged

用户通话音量的回调。
TUICallKit.on(TUICallEvent.onUserVoiceVolumeChanged, (res: any) => {
console.log('onUserVoiceVolumeChanged', res)
});
参数
类型
含义
volumeMap
any
音量表,根据每个 userId 可以获取对应用户的音量大小,音量最小值为0,音量最大值为100。

onUserNetworkQualityChanged

用户网络质量的回调。
TUICallKit.on(TUICallEvent.onUserNetworkQualityChanged, (networkQuality: any) => {
for (const [key, value] of networkQuality) {
console.log(`onUserNetworkQualityChanged userId: ${key}, network quality: ${value}`);
}
});
参数
类型
含义
networkQuality
any
网络状态,根据每个 userId 可以获取对应用户当前的网络质量。
value = Unknown
value = Excellent
value = Good
value = Poor
value = Bad
value = Vbad
value = Down