ErrorCode

错误码定义

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:

当前设备没有麦克风或没有摄像头,但尝试采集麦克风、摄像头。
处理建议:引导用户检查设备是否有摄像头及麦克风、系统是否给浏览器授权、浏览器是否给页面授权。业务侧应当增加进房前的设备检测逻辑,参考: 通话前环境与设备检测

(static) INITIALIZE_FAILED

Since:
  • v4.11.12 新增该错误码
Default Value:
  • 4100(十六进制:0x1004)
See:

LocalStream.initialize() 采集失败

错误信息:

错误名 描述 处理建议
NotFoundError 找不到满足请求参数的媒体类型(包括:音频、视频、屏幕分享)。例如:PC 没有摄像头,但是请求浏览器获取视频流,则会报此错误。 建议在通话开始前引导用户检查通话所需的摄像头或麦克风等外设,若没有摄像头且需要进行语音通话,可在 TRTC.createStream({ audio: true, video: false }) 指明仅采集麦克风。
NotAllowedError 用户拒绝了当前的浏览器实例的访问音频、视频、屏幕分享请求。 提示用户不授权摄像头/麦克风访问无法进行音视频通话
NotReadableError 尽管用户已经授权使用相应的设备,但是由于操作系统上某个硬件、浏览器或者网页层面发生的错误导致设备无法被访问。 根据浏览器的报错信息处理,并提示用户:
“暂时无法访问摄像头/麦克风,请确保当前没有其他应用请求访问摄像头/麦克风,并重试”
OverconstrainedError cameraId/microphoneId 参数的值无效 确保 cameraId/microphoneId 传值正确且有效
AbortError 由于某些未知原因导致设备无法被使用

参考:getUserMedia 异常getDisplayMedia 异常

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:

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:

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:

进房失败

错误码 错误信息
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 会尝试多次重连,如果都失败了,则会抛出此错误。
处理建议:提醒用户检查网络,然后重新进房。

Default Value:
  • 16391(十六进制:0x4007)
See:
  • Client#on client.on('error') 事件抛出该错误

上行 PeerConnection 重连失败
描述:当上行 PeerConnection 断开时,SDK 会尝试多次重连,如果都失败了,则会抛出此错误。
处理建议:提醒用户检查网络,然后重新推流或者重新进房。

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:

远端流不存在
描述:在 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:

自动播放被禁止错误
说明:调用 play() 播放音视频时,由于自动播放策略的限制导致无法自动播放。
处理建议:此时应该引导用户通过手势操作调用 resume() 继续进行播放。参考:自动播放受限处理建议

(static) DEVICE_AUTO_RECOVER_FAILED

Default Value:
  • 16452(十六进制:0x4044)
See:

自动恢复摄像头、麦克风采集失败

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:

切换角色失败

(static) API_CALL_TIMEOUT

Default Value:
  • 16459(十六进制:0x404b)

API 接口调用超时

处理建议:

  • 重新调用 API 进行重试,需要注意控制重试频次。
  • Client.publishClient.subscribe 接口收到该错误,则可能用户所处的网络环境(一般是企业内网)有防火墙限制,导致无法连接服务器。
    建议引导用户更换网络后重试,或者检查网络防火墙设置,确保这些端口处于开放状态:端口白名单

(static) SCHEDULE_FAILED

Default Value:
  • 16460(十六进制:0x404c)
See:

信令调度失败

在调用 client.join 接口时,SDK 会先发起调度请求,获取就近接入的服务器信息。当调度请求失败时,会抛出该错误。

该错误一般是因网络原因引起,处理建议:

(static) API_CALL_ABORTED

Default Value:
  • 16461(十六进制:0x404d)

API 被中断调用

例如:

  1. 在 client.publish() 未成功时,调用 client.leave() 退房,导致 publish 失败。
  2. 在 client.subscribe() 未成功时,调用 client.unsubscribe() 或者 client.leave(),导致 subscribe 失败。
  3. 在 client.subscribe() 时,远端用户取消推流,导致 subscribe 失败。

处理建议:业务侧可评估这类 API 调用时序是否符合业务预期,若符合则无需处理,若不符合可以调整调用时序,或者提示重试。

(static) UNKNOWN

Default Value:
  • 65535(十六进制:0xffff)

未知错误