RTCSessionDescription
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Giao diện RTCSessionDescription mô tả một đầu của kết nối—hoặc kết nối tiềm năng—và cách nó được cấu hình. Mỗi RTCSessionDescription bao gồm một type mô tả cho biết phần nào của quá trình thương lượng offer/answer mà nó mô tả và bộ mô tả SDP của phiên.
Quá trình thương lượng kết nối giữa hai peer liên quan đến việc trao đổi các đối tượng RTCSessionDescription qua lại, với mỗi mô tả đề xuất một tổ hợp tùy chọn cấu hình kết nối mà người gửi mô tả hỗ trợ. Khi hai peer thống nhất về cấu hình cho kết nối, quá trình thương lượng sẽ hoàn tất.
Constructor
RTCSessionDescription()Deprecated-
Tạo một
RTCSessionDescriptionmới bằng cách chỉ địnhtypevàsdp. Tất cả các phương thức chấp nhận đối tượngRTCSessionDescriptioncũng chấp nhận các đối tượng có cùng thuộc tính, vì vậy bạn có thể sử dụng một đối tượng thuần thay vì tạo một instanceRTCSessionDescription.
Thuộc tính instance
Giao diện RTCSessionDescription không kế thừa bất kỳ thuộc tính nào.
RTCSessionDescription.typeRead only-
Một enum mô tả loại của mô tả phiên.
RTCSessionDescription.sdpRead only-
Một chuỗi chứa SDP mô tả phiên.
Phương thức instance
Giao diện RTCSessionDescription không kế thừa bất kỳ phương thức nào.
RTCSessionDescription.toJSON()-
Trả về mô tả JSON của đối tượng. Giá trị của cả hai thuộc tính,
typevàsdp, đều được chứa trong JSON được tạo.
Ví dụ
signalingChannel.onmessage = (evt) => {
if (!pc) start(false);
const message = JSON.parse(evt.data);
if (message.type && message.sdp) {
pc.setRemoteDescription(
new RTCSessionDescription(message),
() => {
// nếu chúng tôi nhận được một offer, chúng tôi cần trả lời
if (pc.remoteDescription.type === "offer") {
pc.createAnswer(localDescCreated, logError);
}
},
logError,
);
} else {
pc.addIceCandidate(
new RTCIceCandidate(message.candidate),
() => {},
logError,
);
}
};
Đặc tả kỹ thuật
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # rtcsessiondescription-class> |