错误码定义
- 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/v4/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)
 
未知错误