RTCSessionDescription
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Интерфейс RTCSessionDescription описывает один конец соединения — или потенциального соединения — и как оно настроено. Каждый RTCSessionDescription состоит из описания type, указывающего на какую часть процесса переговоров о предложении/ответе он описывает, и дескриптора сессии SDP.
Процесс переговоров о соединении между двумя узлами включает в себя обмен объектами RTCSessionDescription взад и вперед, где каждое описание предполагает одну комбинацию параметров настройки соединения, которые поддерживает отправитель описания. После того, как два узла согласятся на конфигурацию соединения, переговоры завершаются.
Конструктор
-
RTCSessionDescription()Устаревший -
Создаёт новый
RTCSessionDescription, указав типtypeиsdp. Все методы, принимающие объектыRTCSessionDescriptionтакже принимают объекты с теми же свойствами, поэтому вы можете использовать простой объект вместо создания экземпляраRTCSessionDescription.
Свойства экземпляра
Интерфейс RTCSessionDescription не наследует никаких свойств.
-
RTCSessionDescription.typeТолько для чтения -
Перечисление, описывающее тип описания сессии.
-
RTCSessionDescription.sdpТолько для чтения -
Строка, содержащая дескриптор сессии SDP.
Методы экземпляра
RTCSessionDescription не наследует никаких методов.
RTCSessionDescription.toJSON()-
Возвращает описание объекта в формате JSON. Значения обоих свойств,
typeиsdp, содержатся в сгенерированном JSON.
Пример
signalingChannel.onmessage = (evt) => {
if (!pc) start(false);
const message = JSON.parse(evt.data);
if (message.type && 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,
);
}
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
RTCSessionDescription |
23 | 15 | 4422 | 15 | 11 | 25 | 4424 | 14 | 11 | 1.5 | 4.4 |
RTCSessionDescription |
23 | 15 | 4422 | 15 | 11 | 25 | 4424 | 14 | 11 | 1.5 | 4.4 |
sdp |
23 | 15 | 22 | 15 | 11 | 25 | 24 | 14 | 11 | 1.5 | 4.4 |
toJSON |
43 | 15 | 24 | 30 | 11 | 43 | 24 | 30 | 11 | 4.0 | 43 |
type |
23 | 15 | 22 | 15 | 11 | 25 | 24 | 14 | 11 | 1.5 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription