错误码定义
- See:
Members
(static) INVALID_PARAMETER
- Default Value:
-
- 4096(十六进制:0x1000)
无效参数
处理建议:请检查传入参数是否符合 SDK 要求,例如参数类型是否正确。
(static) INVALID_OPERATION
- Default Value:
-
- 4097(十六进制:0x1001)
非法操作
处理建议:请根据对应接口文档检查 API 调用逻辑是否符合 SDK 要求。例如在未进房的情况下,调用 publish 接口是被禁止的。
(static) NOT_SUPPORTED
- Default Value:
-
- 4098(十六进制:0x1002)
不支持
说明:调用 SDK 接口时抛出,表明当前浏览器不支持调用对应接口
处理建议:引导用户使用 SDK 支持的浏览器,参考:检测浏览器支持性
(static) DEVICE_NOT_FOUND
- Default Value:
-
- 4099(十六进制:0x1003)
- See:
-
- LocalStream#initialize 接口抛出该错误
当前设备没有麦克风或没有摄像头,但尝试采集麦克风、摄像头。
处理建议:引导用户检查设备是否有摄像头及麦克风、系统是否给浏览器授权、浏览器是否给页面授权。业务侧应当增加进房前的设备检测逻辑,参考: 通话前环境与设备检测。
(static) INITIALIZE_FAILED
- Since:
-
- v4.11.12 新增该错误码
- Default Value:
-
- 4100(十六进制:0x1004)
- See:
-
- LocalStream#initialize 接口抛出该错误
LocalStream.initialize() 采集失败
错误信息:
错误名 | 描述 | 处理建议 |
---|---|---|
NotFoundError | 找不到满足请求参数的媒体类型(包括:音频、视频、屏幕分享)。例如:PC 没有摄像头,但是请求浏览器获取视频流,则会报此错误。 | 建议在通话开始前引导用户检查通话所需的摄像头或麦克风等外设,若没有摄像头且需要进行语音通话,可在 TRTC.createStream({ audio: true, video: false }) 指明仅采集麦克风。 |
NotAllowedError | 用户拒绝了当前的浏览器实例的访问音频、视频、屏幕分享请求。 | 提示用户不授权摄像头/麦克风访问无法进行音视频通话 |
NotReadableError | 尽管用户已经授权使用相应的设备,但是由于操作系统上某个硬件、浏览器或者网页层面发生的错误导致设备无法被访问。 | 根据浏览器的报错信息处理,并提示用户: “暂时无法访问摄像头/麦克风,请确保当前没有其他应用请求访问摄像头/麦克风,并重试” |
OverconstrainedError | cameraId/microphoneId 参数的值无效 | 确保 cameraId/microphoneId 传值正确且有效 |
AbortError | 由于某些未知原因导致设备无法被使用 |
Example
localStream.initialize().catch((error) => {
switch (error.name) {
case 'NotReadableError':
// 提示用户:暂时无法访问摄像头/麦克风,请确保当前没有其他应用请求访问摄像头/麦克风,并重试。
break;
case 'RtcError':
// DEVICE_NOT_FOUND
if (error.getCode() === 4099) {
// 当前设备没有麦克风或没有摄像头,但尝试采集麦克风、摄像头。
// 处理建议:引导用户检查设备的摄像头及麦克风是否正常,业务侧应在进房前的进行设备检测。
}
break;
default:
console.error(error);
break;
}
}
})
(static) SIGNAL_CHANNEL_SETUP_FAILED
- Default Value:
-
- 16385(十六进制:0x4001)
- See:
-
- Client#join 接口抛出该错误
WebSocket 信令通道建立失败
帐号相关错误信息:
错误码 | 错误类型 | 描述 |
---|---|---|
-8 | 帐号系统 | sdkAppId 不正确,请检查 sdkAppId 是否正确填写 |
70001 | 帐号系统 | userSig 过期,请尝试重新生成。如果是刚生成就过期,请检查有效期填写的是否过小或者误填为 0 |
70002 | 帐号系统 | userSig 长度为 0,请确认签名计算是否正确,访问 sign_src 获取计算签名的傻瓜式源码,核对参数,确保签名计算正确性 |
70003 | 帐号系统 | userSig 校验失败,请确认下 userSig 内容是否被截断,例如缓冲区长度不够导致的内容截断 |
70004 | 帐号系统 | userSig 校验失败,请确认下 userSig 内容是否被截断,例如缓冲区长度不够导致的内容截断 |
70005 | 帐号系统 | userSig 校验失败,通过工具来验证生成的 userSig 是否正确 |
70006 | 帐号系统 | userSig 校验失败,通过工具来验证生成的 userSig 是否正确 |
70007 | 帐号系统 | userSig 校验失败,通过工具来验证生成的 userSig 是否正确 |
70008 | 帐号系统 | userSig 校验失败,通过工具来验证生成的 userSig 是否正确 |
70009 | 帐号系统 | 用业务公钥验证 userSig 失败,请确认生成的 userSig 使用的私钥和 sdkAppId 是否对应 |
70010 | 帐号系统 | userSig 校验失败,通过工具来验证生成的 userSig 是否正确 |
70013 | 帐号系统 | userSig 中 userId 与请求时的 userId 不匹配,请检查登录时填写的 userId 与 userSig 中的是否一致 |
70014 | 帐号系统 | userSig 中 sdkAppId 与请求时的 sdkAppId 不匹配,请检查登录时填写的 sdkAppId 与 userSig 中的是否一致 |
70015 | 帐号系统 | 未找到该 sdkAppId 和帐号类型对应的验证方式,请确认是否已进行帐号集成操作 |
70016 | 帐号系统 | 拉取到的公钥长度为 0,请确认是否已上传公钥,如果是重新上传的公钥需要十分钟后再尝试 |
70017 | 帐号系统 | 内部第三方票据验证超时,请重试,如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70018 | 帐号系统 | 内部验证第三方票据失败 |
70019 | 帐号系统 | 通过 HTTPS 方式验证的票据字段为空,请正确填写 userSig |
70020 | 帐号系统 | sdkAppId 未找到,请确认是否已在腾讯云上配置 |
70052 | 帐号系统 | userSig 已经失效,请重新生成,再次尝试 |
70101 | 帐号系统 | 请求包信息为空 |
70102 | 帐号系统 | 请求包帐号类型错误 |
70103 | 帐号系统 | 电话号码格式错误 |
70104 | 帐号系统 | 邮箱格式错误 |
70105 | 帐号系统 | TLS 帐号格式错误 |
70106 | 帐号系统 | 非法帐号格式类型 |
70107 | 帐号系统 | userId 没有注册 |
70113 | 帐号系统 | 批量数量不合法 |
70114 | 帐号系统 | 安全原因被限制 |
70115 | 帐号系统 | uin 不是对应 sdkAppId 的开发者 uin |
70140 | 帐号系统 | sdkAppId 和 acctype 不匹配 |
70145 | 帐号系统 | 帐号类型错误 |
70169 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70201 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70202 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70203 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70204 | 帐号系统 | sdkAppId 没有对应的 acctype |
70205 | 帐号系统 | 查找 acctype 失败,请重试 |
70206 | 帐号系统 | 请求中批量数量不合法 |
70207 | 帐号系统 | 内部错误,请重试 |
70208 | 帐号系统 | 内部错误,请重试 |
70209 | 帐号系统 | 获取开发者 uin 标志失败 |
70210 | 帐号系统 | 请求中 uin 为非开发者 uin |
70211 | 帐号系统 | 请求中 uin 非法 |
70212 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70213 | 帐号系统 | 访问内部数据失败,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70214 | 帐号系统 | 验证内部票据失败 |
70221 | 帐号系统 | 登录状态无效,请使用 UserSig 重新鉴权 |
70222 | 帐号系统 | 内部错误,请重试 |
70225 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70231 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70236 | 帐号系统 | 验证 user signature 失败 |
70308 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70346 | 帐号系统 | 票据校验失败。 |
70347 | 帐号系统 | 票据因过期原因校验失败 |
70348 | 帐号系统 | 内部错误,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70362 | 帐号系统 | 内部超时,请重试。如果多次重试仍不成功,请联系 TLS 帐号支持,QQ:3268519604 |
70401 | 帐号系统 | 内部错误,请重试 |
70402 | 帐号系统 | 参数非法。请检查必填字段是否填充,或者字段的填充是否满足协议要求 |
70403 | 帐号系统 | 发起操作者不是 App 管理员,没有权限操作 |
70050 | 帐号系统 | 因失败且重试次数过多导致被限制,请检查票据是否正确,一分钟之后再试 |
70051 | 帐号系统 | 帐号已被拉入黑名单,请联系 TLS 帐号支持,QQ:3268519604 |
(static) SIGNAL_CHANNEL_ERROR
- Default Value:
-
- 16386(十六进制:0x4002)
- See:
-
- Client#join 接口抛出该错误
WebSocket 信令通道错误
Note
- 自 v4.6.5 版本开始,SDK 不会再抛出该错误
(static) ICE_TRANSPORT_ERROR
- Default Value:
-
- 16387(十六进制:0x4003)
ICE Transport 连接错误,即音视频数据传输通道错误。
这主要是因为用户端的 UDP 端口异常(可能是用户电脑防火墙或路由器防火墙端口限制)引起,具体端口参考端口白名单。
Note
- 自 v4.6.6 版本开始,SDK 不会再抛出该错误
- 若需要感知用户网络异常,可以使用 NETWORK_QUALITY 事件
(static) JOIN_ROOM_FAILED
- Default Value:
-
- 16388(十六进制:0x4004)
- See:
-
- Client#join 接口抛出该错误
进房失败
错误码 | 错误信息 |
---|---|
5001 | 服务端超时,请重试 |
-10011 | 服务端未知错误,请重试 |
-10012 | 未传入 roomId 或者 roomId 不符合规范, 如需使用 string 类型的 roomId,请在调用 TRTC.createClient 时设置 useStringRoomId 为 true |
-10015 | 服务端获取服务器节点失败,请重试 |
-10016 | 服务端内部通信超时,超时时间 3s,请重试 |
-100006 | 检查权限失败,启用高级权限控制后,请检查 client.join 携带的 privateMapKey 参数是否正确。请查看 开启高级权限设置 |
-100013 | 客户服务欠费, 请登录 实时音视频控制台,单击您创建的应用,单击【帐号信息】,在帐号信息面板即可确认服务状态 |
-100021 | 服务端过载,进房失败 |
-100022 | 服务器分配失败,请重试 |
-100024 | 未开通 TRTC 服务导致进房失败,请到 $IM 控制台 为您的应用开通 TRTC 服务 |
-102006 | 流控定义的错误码(add user failed) |
-102010 | 启用高级权限控制后,用户没有创建房间的权限,请查看 开启高级权限设置 |
-102023 | 请求参数错误(后端接口服务产生的请求参数错误) |
(static) CREATE_OFFER_FAILED
- Default Value:
-
- 16389(十六进制:0x4005)
创建 sdp offer 失败
(static) SIGNAL_CHANNEL_RECONNECTION_FAILED
- Default Value:
-
- 16390(十六进制:0x4006)
- See:
-
- Client#on client.on('error') 事件抛出该错误
WebSocket 信令通道重连失败
描述:当 WebSocket 断开时,SDK 会尝试多次重连,如果都失败了,则会抛出此错误。
处理建议:提醒用户检查网络,然后重新进房。
(static) UPLINK_RECONNECTION_FAILED
- Default Value:
-
- 16391(十六进制:0x4007)
- See:
-
- Client#on client.on('error') 事件抛出该错误
上行 PeerConnection 重连失败
描述:当上行 PeerConnection 断开时,SDK 会尝试多次重连,如果都失败了,则会抛出此错误。
处理建议:提醒用户检查网络,然后重新推流或者重新进房。
(static) DOWNLINK_RECONNECTION_FAILED
- Default Value:
-
- 16392(十六进制:0x4008)
- See:
-
- Client#on client.on('error') 事件抛出该错误
下行 PeerConnection 重连失败
描述:当下行 PeerConnection 异常断开时,SDK 会尝试多次重连,如果都失败了,则会抛出此错误。
处理建议:提醒用户检查网络,然后重新进房。
(static) REMOTE_STREAM_NOT_EXIST
- Since:
-
- 4.11.12
- Default Value:
-
- 16400(十六进制: 0x4010)
- See:
-
- Client#subscribe 接口抛出该错误
远端流不存在
描述:在 A 尝试订阅 B 推的流时,B 取消推流,导致 A 订阅 B 失败。
处理建议:属于正常交互流程,接入侧无需处理。
(static) CLIENT_BANNED
- Deprecated:
-
- 在v4.14.0版本废除该错误码,保留 client 事件
- Default Value:
-
- 16448(十六进制:0x4040)
- See:
-
- Client#on client.on('client-banned') 事件抛出该错误
用户被踢出房间
(static) SERVER_TIMEOUT
- Default Value:
-
- 16449(十六进制:0x4041)
媒体传输服务超时
(static) SUBSCRIPTION_TIMEOUT
- Default Value:
-
- 16450(十六进制:0x4042)
远端流订阅超时
(static) PLAY_NOT_ALLOWED
- Default Value:
-
- 16451(十六进制:0x4043)
- See:
-
- Stream#play 接口抛出该错误
自动播放被禁止错误
说明:调用 play() 播放音视频时,由于自动播放策略的限制导致无法自动播放。
处理建议:此时应该引导用户通过手势操作调用 resume() 继续进行播放。参考:自动播放受限处理建议
(static) DEVICE_AUTO_RECOVER_FAILED
- Default Value:
-
- 16452(十六进制:0x4044)
- See:
-
- LocalStream#on localStream.on('error') 事件抛出该错误
自动恢复摄像头、麦克风采集失败
Note
- 该错误在 LocalStream 的 error 事件抛出
- 当用户的正在推流的媒体设备变更(例如:插拔摄像头、麦克风、接口松动等)时,SDK 会尝试恢复采集。发生此错误说明恢复失败。
- 处理建议:提醒用户 媒体设备自动恢复采集失败,请检查摄像头、麦克风接口是否松动,并确保没有被其他应用占用。
- 可在页面提供重试按钮,当用户点击重试时,重新采集摄像头、麦克风,可参考下方代码示例:
Example
// 重试流程
localStream.on('error', async error => {
if (error.getCode() === 16452) {
const newStream = TRTC.createStream({ userId: 'your userId', audio: true, video: true });
try {
await newStream.initialize();
// 获取摄像头和麦克风 track
const videoTrack = newStream.getVideoTrack();
const audioTrack = newStream.getAudioTrack();
// 分别替换摄像头和麦克风 track
localStream.replaceTrack(videoTrack);
localStream.replaceTrack(audioTrack);
} catch (err) {
// 采集失败,可让用户检查摄像头、麦克风后重试该流程,initialize error 可参考:https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/LocalStream.html#initialize
}
}
});
(static) START_PUBLISH_CDN_FAILED
- Default Value:
-
- 16453(十六进制:0x4045)
开始向 CDN 推流失败
(static) STOP_PUBLISH_CDN_FAILED
- Default Value:
-
- 16454(十六进制:0x4046)
停止向 CDN 推流失败
(static) START_MIX_TRANSCODE_FAILED
- Default Value:
-
- 16455(十六进制:0x4047)
开始混流转码失败
(static) STOP_MIX_TRANSCODE_FAILED
- Default Value:
-
- 16456(十六进制:0x4048)
停止混流转码失败
(static) NOT_SUPPORTED_H264
- Default Value:
-
- 16457(十六进制:0x4049)
当前设备不支持H.264
(static) SWITCH_ROLE_FAILED
- Default Value:
-
- 16458(十六进制:0x404a)
- See:
-
- Client#switchRole 接口抛出该错误
切换角色失败
(static) API_CALL_TIMEOUT
- Default Value:
-
- 16459(十六进制:0x404b)
API 接口调用超时
处理建议:
- 重新调用 API 进行重试,需要注意控制重试频次。
- 若 Client.publish 或 Client.subscribe 接口收到该错误,则可能用户所处的网络环境(一般是企业内网)有防火墙限制,导致无法连接服务器。
建议引导用户更换网络后重试,或者检查网络防火墙设置,确保这些端口处于开放状态:端口白名单
(static) SCHEDULE_FAILED
- Default Value:
-
- 16460(十六进制:0x404c)
- See:
-
- Client#join 接口抛出该错误
信令调度失败
在调用 client.join 接口时,SDK 会先发起调度请求,获取就近接入的服务器信息。当调度请求失败时,会抛出该错误。
该错误一般是因网络原因引起,处理建议:
- 请检查网络防火墙,参考 防火墙白名单。
(static) API_CALL_ABORTED
- Default Value:
-
- 16461(十六进制:0x404d)
API 被中断调用
例如:
- 在 client.publish() 未成功时,调用 client.leave() 退房,导致 publish 失败。
- 在 client.subscribe() 未成功时,调用 client.unsubscribe() 或者 client.leave(),导致 subscribe 失败。
- 在 client.subscribe() 时,远端用户取消推流,导致 subscribe 失败。
处理建议:业务侧可评估这类 API 调用时序是否符合业务预期,若符合则无需处理,若不符合可以调整调用时序,或者提示重试。
(static) UNKNOWN
- Default Value:
-
- 65535(十六进制:0xffff)
未知错误