4.4.3.2 旧版配置扩展

除了添加到RTCPeerConnection的媒体之外,本节还介绍了一组可用于影响 offer 创建方式的旧版扩展。鼓励开发人员使用 RTCRtpTransceiver API。

使用本节中指定的任何旧版选项调用 createOffer 时,请运行以下步骤而不是常规 createOffer 步骤:

  1. 让 options 成为方法的第一个参数。

  2. 让connection成为当前的RTCPeerConnection对象。

  3. 对于 options 中的每个”offerToReceive”成员,以及它的类别 kind ,执行以下步骤:

    1. 如果字典成员的值为false,

      1. 对每个未停止的”sendrecv”类的收发器 transceiver ,把 transceiver 中的[Direction] 设置为”sendonly”。

      2. 对每个未停止的”recvonly”类别的收发器 transceiver ,把 transceiver 中的[Direction]值 设置为”inactive”。 如果有下一选项,继续此步骤

    继续下一个选项(如果有)。

    1. 如果连接具有任何不停止的“sendrecv”或“recvonly”类型的 transceiver,则继续下一个选项(如果有)。

    2. 让调用connection.addTransceiver(kind)的结果赋值给 transceiver,除了这个操作绝不能更新需要协商的标志。

    3. 如果由于先前的操作引发错误而未设置收发器,则中止这些步骤。

    4. 将transceiver的[[Direction]]值设置为“recvonly”。

  4. 运行 createOffer 指定的步骤以创建 offer。

  1. partial dictionary RTCOfferOptions {
  2. boolean offerToReceiveAudio;
  3. boolean offerToReceiveVideo;
  4. };

Attributes zh:属性

offerToReceiveAudio 类型为 boolean

此设置提供对音频方向性的额外控制。例如,无论是否发送音频,它都可用于确保接收音频。

offerToReceive 类型为 boolean

此设置提供对视频方向性的额外控制。例如,无论是否发送视频,它都可用于确保接收视频。