RTCSessionDescription

RTCSessionDescription 接口描述了连接(或潜在连接)的一端及其配置方式。每个 RTCSessionDescription 由一个描述 type(指示它描述的提议/应答协商过程的哪一部分)和会话的 SDP 描述组成。

在两个对等体之间协商连接的过程涉及来回交换 RTCSessionDescription 对象,每个描述都建议发送者支持的连接配置选项的一种组合。一旦两个对等体就连接的配置达成一致,协商就完成了。

实例属性

RTCSessionDescription 接口不继承任何属性。

RTCSessionDescription.type 只读

描述会话描述类型的枚举。

RTCSessionDescription.sdp 只读

包含描述会话的 SDP 的字符串。

实例方法

RTCSessionDescription 不继承任何方法。

RTCSessionDescription() 已弃用

此构造函数返回一个新的 RTCSessionDescription。参数是一个 RTCSessionDescriptionInit 字典,其中包含要分配给这两个属性的值。

RTCSessionDescription.toJSON()

返回对象的 JSON 描述。生成的 JSON 中包含两个属性的值:typesdp

示例

js
signalingChannel.onmessage = (evt) => {
  if (!pc) start(false);

  const message = JSON.parse(evt.data);
  if (message.sdp) {
    pc.setRemoteDescription(
      new RTCSessionDescription(message),
      () => {
        // if we received an offer, we need to answer
        if (pc.remoteDescription.type === "offer") {
          pc.createAnswer(localDescCreated, logError);
        }
      },
      logError,
    );
  } else {
    pc.addIceCandidate(
      new RTCIceCandidate(message.candidate),
      () => {},
      logError,
    );
  }
};

规范

规范
WebRTC:浏览器中的实时通信
# rtcsessiondescription-class

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅