我正在使用appRTC to make演示应用程序。我已经成功设置了以下内容,但是得到了带有JSON格式的堆栈,这些堆栈会在Turn-server API的响应中返回。
我在控制台日志中遇到以下错误。
创建PeerConnection异常:无法构造'RTCPeerConnection':格式错误的RTCIceServer
无法开始发送信号:无法读取null的属性“ addStream”
我尝试按照以下响应作为冰服务器对象
当前对象:
{"iceServers":[{"urls":["stun:stun.l.google.com:19302"]},{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}],"lifetimeDuration":"86400s","blockStatus":"NOT_BLOCKED","iceTransportPolicy":"all"}
也尝试过:
[{"urls":["stun:stun.l.google.com:19302"]},{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}]
并尝试了这个:
[{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}]
答案 0 :(得分:1)
您在这里有错字:
[{"urls":["stun:stun.l.google.com:19302"}
尝试关闭网址而不关闭数组。
这应该是
[{"urls":["stun:stun.l.google.com:19302"]}
不过,这不会导致有关格式错误的RTCIceServer的错误。
根据您的评论,这似乎是致电的结果
new RTCPeerConnection({"iceServers":[{}]})
-空对象不是有效的RTCIceServer。
我也建议不要通过
"lifetimeDuration":"86400s","blockStatus":"NOT_BLOCKED"
到RTCPeerConnection,因为它不知道这些。