此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

RTCPeerConnection.setRemoteDescription()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2017年9月⁩.

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

RTCPeerConnection.setRemoteDescription() 方法改变与连接相关的描述,该描述主要是描述有些关于连接的属性,例如对端使用的解码器。连接受此更改影响,并且必须能够支持旧的和新的描述。方法带三个参数,RTCSessionDescription 对象用于设置,然后是更改成功的回调方法,一个是更改失败的回调方法。

方法是异步的,不用等待设置完成,成功会调用成功回调方法,失败则会调用错误回调方法。

连接的 offer 通常来自于负责匹配的服务器所发送的数据。执行者应调用此方法设置远程描述,然后生成发送到对端计算机的 answer。

语法

aPromise = pc.setRemoteDescription(sessionDescription);

pc.setRemoteDescription(sessionDescription, successCallback, errorCallback);

这个方法没有返回值。

参数

sessionDescription

Is a DOMString is the description of the parameters to be applied to the remote session.

successCallback

Is a Function without parameter which will be called when the description has been successfully set. At this point, one can send the offer to a remote server that can forward it to a remote client

errorCallback

Is a RTCPeerConnectionErrorCallback which will be called if the description can't be set. It takes the following parameter:

  • errorInformation which is a DOMString describing the reason why the description has not been set.

Example

js
var pc = new PeerConnection();
pc.setRemoteDescription(new RTCSessionDescription(offer), function () {
  pc.createAnswer(function (answer) {
    pc.setLocalDescription(answer, function () {
      // send the answer to the remote connection
    });
  });
});

规范

Specification
WebRTC: Real-Time Communication in Browsers
# dom-peerconnection-setremotedescription

浏览器兼容性

参见