4.4.1.4 更新 ICE 收集状态

要更新RTCPeerConnection实例连接的ICE收集状态,用户代理必须把运行以下步骤的任务加入队列:

  1. 如果connection的[[IsClosed]]值为true,则中止这些步骤。

  2. 把 newState 的值设为新状态的值,这些值是 RTCIceGatheringState 中的枚举值。

  3. 如果连接的ICE收集状态的值等于newState的值,则中止这些步骤。

  4. 将连接的 ICE 采集状态值设置为newState的值。

  5. 触发名为icegatheringstatechange的事件。

  6. 如果 newState 的值为“completed”,则使用 RTCPeerConnectionIceEvent 接口触发名为 icecandidate 的事件,并在候选连接时将候选属性设置为null。

NOTE

会触发null候选事件以确保旧版兼容性。新代码应监视 RTCIceTransport 和/或 RTCPeerConnection 的收集状态。