在建立视频通话的过程中,在调用createOffer或createAnswer之后,才开始收集冰候选者。我想在调用createOffer或createAnswer之前得到本地对等体的所有本地冰候选者。这样我就可以在sdp描述中设置所有的候选者,而且不需要分别发送给远程对等体,因为他们会在sdp中一起发送。这可能吗?
UPD:所有我想要的是收集冰候选人并保留他们。之后,我想创建提供和asnwers,但没有等待收集的候选人将fininsh。另外如何手动添加冰候选人到描述?以及是否有可能在不重新创建RTCPeerConnection的情况下取消冰候选人的收集?
候选人收集只有在你调用setLocalDescription时才开始。
如果你想要一个包含所有候选人的SDP,请在没有候选人的情况下等待onicecandidate事件,并检查peerconnection的localDescription.sdp,它包含了迄今为止收集到的所有候选人。
根据 https:/developer.mozilla.orgzh-CNdocsWebAPIRTCPeerConnectiononicecandidate。
当回调中的onicecandidate事件为null时,发出peer连接已经收集冰候选人完成。所以这时给其他对等连接创建offer,offer的SDP信息将包含'a=candidate'属性。
参考文献 https:/aggresss.github.iowebrtc-samplessrccontentpeerconnectionpc1-mod。