我正在Chrome 23上建立WebRTC连接。要连接本地流,您需要允许浏览器使用摄像头和麦克风。在主叫方,我正在检查是否可以获取本地流,并且直到这一刻才发送报价。然后要约被发送,浏览器立即开始发送ICE候选者。
然后,如果远程浏览器还没有获得本地媒体流,那么我收到的每个ICE候选人都会在SYNTAX_ERR: DOM Exception 12
上获得peerConnection.addIceCandidate(candidate)
。
我在addIceCandidate
上检查了documentation,但没有有关先决条件的信息。
我认为我可以通过延迟提供者并等待远程客户端添加本地流的信号来延迟从提供者发送ICE候选者,但这是需要的额外通信,而且看起来不正确。
我可以在发送答案和附加本地媒体流之前以某种方式将远程ICE候选者添加到webkitRTCPeerConnection
吗?
最佳答案
在我写下这个问题之后,我想到了一个答案……在接收ICE候选人之前不需要附加本地流,但是应该设置remoteDescription
(应在收到报价时完成)。在我的代码中,我等待设置remoteDescription
并发送答案,直到浏览器获取本地流。
关于google-chrome - 发送答案之前收到ICE候选人时的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13396071/