将 Agora Web SDK 集成到你的 Web 应用后,遇到问题时可以通过浏览器控制台打印的日志进行调试。本文列出控制台日志中常见的错误和原因。
播放指定的 DOM 不存在或者 ID 没有找到。
确保在调用 Stream.play
方法时已生成相应的父容器。
在还未成功加入频道时调用了 Client.publish
方法。
检查你的集成逻辑,确保在调用 Client.publish
时已成功加入频道。
错误原因和解决方法同 Failed to load resource。
下表列出了常见的错误原因和相应的解决办法。
错误原因 | 解决办法 |
---|---|
使用的浏览器不完全支持 WebRTC。 | 使用 Agora Web SDK 支持的浏览器。 |
使用了某些浏览器插件,导致 WebRTC 无法获取本地 Candidate。 | 关闭浏览器插件。 |
用户的网关防火墙禁用了 UDP 协议或者禁用了 10000 以上的 UDP 端口。 | 关闭防火墙或者使用云代理服务。 |
用户使用了 VPN。 | 关闭 VPN。 |
浏览器使用的编解码格式为 VP8,但用户使用的 Safari 浏览器不支持 VP8。 | 建议用户将 Safari 升级到 12.1 以上版本,或者使用 Chrome 浏览器。 |
浏览器使用的编解码格式为 H.264, 但设备硬件不支持 H.264。 | 将编解码格式设为 VP8。 |
网络运营商连接问题。 | 建议用户尝试更换网络,例如使用手机蜂窝数据连接。 |
如果按照以上方法排查后仍然报错,请联系 Agora 技术支持。
在 Stream.init
尚未成功时就调用了 Client.publish
。
在 Stream.init
成功的回调中调用 publish
方法。
用户本地的 DNS 解析错误。
建议用户根据所在区域修改 DNS 服务器的地址后重新加入频道:
114.114.114.114
。8.8.8.8
。调用 switchDevice
导致报错。
该错误没有任何影响,忽略即可。
Stream.play
中指定的 HTMLElementID
不合法。
确保 HTMLElementID
字符串仅包含 ASCII 字符集中的字母和数字,或 "_"、"-"、".",且字符串长度大于 0 小于 256 字节。
可能的原因有:
检查 Client.init
中 appId
和 Client.join
中 tokenOrKey
的设置,确保使用有效的 App ID 和 token。
可能的原因有:
错误原因和解决方法同 None Ice Candidate not allowed。
建立 WebRTC 连接时未找到 ICE (Interactive Connectivity Establishment) candidate。
根据是否开启云代理,建立连接时会使用不同类型的 candidate,因此解决办法也不同。
错误原因和解决方法同 DTLS failed。
一个频道中有多个相同的 uid
。
确保频道中每个用户的 uid
是唯一的。
在浏览器上开启了模拟移动设备调试。
Agora Web SDK 不支持模拟移动设备调试,请勿使用模拟器进行调试。
在浏览器上开启了模拟移动设备调试。
Agora Web SDK 不支持模拟移动设备调试,请勿使用模拟器进行调试。
该错误表示尚未建立连接,通常是因为调用 API 时序不正确导致的。例如调用了 Client.leave
之后调用 Client.publish
。
检查你的 API 调用顺序。