tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

TUICallEvent

PDF
聚焦模式
字号
最后更新时间: 2025-02-21 15:40:11

TUICallEvent API 简介

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

事件详情

onError

错误回调。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onCallBegin) {
console.log("code:" + params.errorCode + ",message:" + params.message)
}
}

TUICallKit.on(onListener);
参数
类型
含义
errorCode
Number
错误码
message
String
错误信息

onCallReceived

收到一个新的来电请求回调。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onCallReceived) {
console.log("callerId:" + params.callerId
+ ",calleeIdList:" + params.calleeIdList
+ ",groupId:" + params.groupId
+ ",callMediaType:" + params.callMediaType
+ ",userData:" + params.userData)
}
}
TUICallKit.on(onListener);
参数
类型
含义
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)
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onCallCancelled) {
console.log("callerId:" + params.callerId)
}
}
TUICallKit.on(onListener);
参数
类型
含义
callerId
String
主叫 ID(邀请方)

onCallBegin

表示通话接通,主叫和被叫都可以收到,您可以通过监听这个事件来开启云端录制、内容审核等流程。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onCallBegin) {
console.log("callerId:" + params.callerId)
}
}
TUICallKit.on(onListener);
参数
类型
含义
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

表示通话挂断,主叫和被叫都可以收到,您可以通过监听这个事件来显示通话时长、通话类型等信息,或者来停止云端的录制流程。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onCallEnd) {
console.log("strRoomId:" + params.roomId.strRoomId
+ "intRoomId:" + params.roomId.intRoomId
+ "callMediaType:" + params.callMediaType
+ "callRole:" + params.callRole
+ "totalTime" + params.totalTime);
}
}
TUICallKit.on(onListener);
参数
类型
含义
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 通话中,只有主叫方会收到拒绝回调,在群组通话中,所有被邀请者都可以收到该回调。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onUserReject) {
console.log("strRoomId:" + params.userId);
}
}
TUICallKit.on(onListener);
参数
类型
含义
userId
String
拒绝用户的 ID

onUserNoResponse

对方无回应的回调。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onUserNoResponse) {
console.log("strRoomId:" + params.userId);
}
}
TUICallKit.on(onListener);
参数
类型
含义
userId
String
无响应用户的 ID

onUserLineBusy

通话忙线回调。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onUserLineBusy) {
console.log("strRoomId:" + params.userId);
}
}
TUICallKit.on(onListener);
参数
类型
含义
userId
String
拒绝用户的 ID

onUserJoin

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

onUserLeave

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

onCallMediaTypeChanged

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

onKickedOffline

当前用户被踢下线:此时可以 UI 提示用户,并再次重新调用初始化。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onKickedOffline) {
console.log("onKickedOffline");
}
}
TUICallKit.on(onListener);

onUserSigExpired

在线时票据过期:此时您需要生成新的 userSig,并再次重新调用初始化。
function onListener(type: TUICallEvent, params: any) {
if (type === TUICallEvent.onUserSigExpired) {
console.log("onKickedOffline");
}
}
TUICallKit.on(onListener);

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

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈