RTCRtpTransceiver: свойство direction
Базовая Широко поддерживается *
Это функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Свойство RTCRtpTransceiver direction — это строка, которая указывает предпочтительное направление работы трансивера.
Направление указывает, будет ли трансивер предлагать отправку и/или получение данных RTP, или он неактивен или остановлен (завершён). При установке направления трансивера значение не применяется сразу. Текущее направление указано свойством currentDirection.
Значение
Строка с одним из следующих значений:
"sendrecv"-
Трансивер предлагает отправлять и получать данные RTP:
-
RTCRtpSender: Предлагает отправить данные RTP и сделает это, если удалённый узел примет соединение, и по крайней мере один из кодеков отправителя активен. -
RTCRtpReceiver: Предлагает получить данные RTP и делает это, если удалённый узел принимает.
-
"sendonly"-
Трансивер предлагает отправлять, но не получать данные RTP:
-
RTCRtpSender: Предлагает отправить данные RTP и сделает это, если удалённый узел примет соединение, и по крайней мере один из кодеков отправителя активен. -
RTCRtpReceiver: Не предлагает получить данные RTP и не будет этого делать.
-
"recvonly"-
Трансивер предлагает получать, но не отправлять данные RTP:
-
RTCRtpSender: Не предлагает отправить данные RTP и не будет этого делать. -
RTCRtpReceiver: Предлагает получить данные RTP и сделает это, если удалённый узел предлагает.
-
"inactive"-
Трансивер неактивен:
-
RTCRtpSender: Не предлагает отправить данные RTP и не будет этого делать. -
RTCRtpReceiver: Не предлагает получить данные RTP и не будет этого делать.
-
"stopped"-
Это конечное состояние трансивера. Трансивер остановлен и не будет отправлять или получать данные RTP, а также предлагать это сделать. Установка этого значения, когда трансивер ещё не остановлен, вызывает
TypeError.-
RTCRtpSender: Не предлагает отправить данные RTP и не будет этого делать. -
RTCRtpReceiver: Не предлагает получить данные RTP и не будет этого делать.
-
Исключения
При установке значения direction, может произойти следующее исключение:
-
InvalidStateErrorDOMException -
Получатель
RTCPeerConnectionзакрыт илиRTCRtpReceiverостановлен. TypeError-
Значение устанавливается в
stopped, когда текущее значение — любое, кромеstopped.
Описание
Свойство direction может использоваться для установки или получения предпочтительного направления трансивера.
Обновление направления не происходит мгновенно. Если новое значение direction отличается от существующего значения, требуется переподключение, поэтому событие negotiationneeded отправляется в RTCPeerConnection. Значение direction (кроме stopped) затем используется RTCPeerConnection.createOffer() или RTCPeerConnection.createAnswer() для генерации сообщения SDP, созданного этими методами. Например, если direction указано как "sendrecv", соответствующая строка SDP a-line указывает направление:
a=sendrecv
Новое направление вступает в силу после завершения процесса переподключения и успешного применения нового описания сессии.
Текущее направление трансивера указано свойством currentDirection.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
direction |
69 | 79 | 59 | 56 | 11 | 69 | 59 | 48 | 11 | 10.0 | 69 |
value_stopped |
103 | 103 | 118 | 89 | Нет | 103 | 118 | 71 | Нет | 20.0 | 103 |
См. также
© 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/RTCRtpTransceiver/direction