RTCSessionDescription - 描述了连接(或潜在连接)的一端以及它的配置方式

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

RTCSessionDescription 接口描述了连接(或潜在连接)的一端以及它的配置方式。每个 RTCSessionDescription 包含一个描述 type,该类型指示它描述的提议 / 回复协商过程的哪一部分以及会话的 SDP 描述符。

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

属性

RTCSessionDescription 接口不继承任何属性。

RTCSessionDescription.type 只读

一个类型为 RTCSdpType 的枚举,描述会话描述的类型。

RTCSessionDescription.sdp 只读

一个 DOMString,包含描述会话的 SDP

常量

RTCSdpType

该枚举定义用于描述会话描述当前状态的字符串,如 type 属性中所使用。会话描述的类型将使用以下值之一指定。

描述
answer sdp 属性中包含的 SDP 是交换中的最终选择。换句话说,此会话描述描述了约定的配置,并且正在发送以完成协商。
offer 会话描述对象描述了提议 / 回复交换中的初始提议。会话协商过程始于从呼叫方向被呼叫方发送提议。
pranswer 会话描述对象描述临时答案;也就是说,对先前提议的回应并非最终回复。它通常由旧式硬件使用。
rollback 这种带有空会话描述的特殊类型用于回滚到以前的稳定状态。

方法

RTCSessionDescription 不继承任何方法。

RTCSessionDescription()

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

RTCSessionDescription.toJSON()

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

实例

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

    var message = JSON.parse(evt.data);
    if (message.sdp)
        pc.setRemoteDescription(new RTCSessionDescription(message), function () {
            // 如果我们收到提议,我们需要回复
            if (pc.remoteDescription.type == "offer")
                pc.createAnswer(localDescCreated, logError);
        }, logError);
    else
        pc.addIceCandidate(new RTCIceCandidate(message.candidate),
            function () {}, logError);
};

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCSessionDescription 的定义
候选推荐 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持≤18 支持 moz 不支持 支持 支持
RTCSessionDescription() 构造函数 支持≤18 支持 moz 不支持 未知 未知
sdp 支持15 支持 moz 不支持 支持 支持
toJSON 支持15 支持 moz 不支持 支持 支持
type 支持15 支持 moz 不支持 支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知 支持 未知 支持 支持
RTCSessionDescription() 构造函数 支持 支持 未知 未知 未知 未知 未知
sdp 支持 支持 未知 支持 未知 支持 支持
toJSON 支持 支持 未知 支持 未知 支持 支持
type 支持 支持 未知 支持 未知 支持 支持

相关链接