跳到主要内容

4.1.18. setConfiguration

4.1.18. setConfiguration

setConfiguration 方法允许在会话期间更改最初由构造函数参数设置的 PeerConnection 全局配置。调用此方法的效果取决于何时调用, 并且会根据更改的具体参数而有所不同:

  • 对要使用的 STUN/TURN 服务器的任何更改都会影响下一个收集阶段。如果 ICE 收集阶段已经开始或完成, 将设置第 3.5.1 节中提到的 'needs-ice-restart' 位。这将导致下一次对 createOffer 的调用生成新的 ICE 凭据, 以强制 ICE 重启并启动新的收集阶段, 在该阶段将使用新服务器。如果 ICE 候选者池具有非零大小并且尚未应用本地描述, 则将丢弃任何现有候选者, 并从新服务器收集新候选者。

  • 对 ICE 候选者策略的任何更改都会影响下一个收集阶段。如果 ICE 收集阶段已经开始或完成, 将设置 'needs-ice-restart' 位。无论哪种方式, 对策略的更改对候选者池都没有影响, 因为在收集阶段发生之前不会向应用程序提供池化候选者, 因此仍然可以对任何池化候选者进行任何必要的过滤。

  • 应用本地描述后不得更改 ICE 候选者池大小。如果尚未应用本地描述, 对 ICE 候选者池大小的任何更改会立即生效; 如果增加, 则预收集额外的候选者; 如果减少, 则丢弃现在多余的候选者。

  • 构造 PeerConnection 后不得更改捆绑和 RTCP 多路复用策略。

调用此方法可能会导致 ICE 代理状态的更改。