RTCPeerConnection: метод addTransceiver()
Базовая Широко поддерживается *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
* Некоторые части этой функции могут иметь разную степень поддержки.
Метод addTransceiver() интерфейса RTCPeerConnection создает новый RTCRtpTransceiver и добавляет его в набор трансиверов, связанных с RTCPeerConnection. Каждый трансивер представляет собой двунаправленный поток, с ассоциированным RTCRtpSender и RTCRtpReceiver.
Синтаксис
addTransceiver(trackOrKind) addTransceiver(trackOrKind, init)
Параметры
trackOrKind-
MediaStreamTrackдля связывания с трансивером или строка, используемая как типkindприемникаtrack, и как следствие, самогоRTCRtpReceiver. initНеобязательно-
Объект для указания параметров при создании нового трансивера. Возможные значения:
directionНеобязательно-
Предпочитаемое направление нового трансивера. Это значение используется для инициализации свойства
RTCRtpTransceiver.directionнового объектаRTCRtpTransceiver. sendEncodingsНеобязательно-
Массив кодеков, разрешенных при отправке RTP-медиа от
RTCRtpSender. Это эквивалентно массивуparameter.encodings, переданному вRTCRtpSender.setParameters(). streamsНеобязательно-
Список объектов
MediaStream, добавляемых кRTCRtpReceiverтрансивера; при возникновении событияtrackна удаленном конечномRTCPeerConnection, будут использоваться именно эти потоки.
Возвращаемое значение
Объект RTCRtpTransceiver, который будет использоваться для обмена данными медиа.
Исключения
TypeError-
Выбрасывается, если
trackOrKindне является"audio"или"video".Если используется аргумент
sendEncodings, данная ошибка может быть выброшена, если членridимеет неверный формат, некоторые, но не все, кодеки содержат членrid, или у разных кодеков одинаковое значениеrid. RangeError-
Выбрасывается, если у любого из кодеков
sendEncodingsзначениеmaxFramerateменьше 0.0, или значениеscaleResolutionDownByменьше 1.0. -
InvalidStateErrorDOMException -
Выбрасывается, если метод вызывается, когда связанное соединение закрыто.
-
InvalidAccessErrorDOMException -
Выбрасывается, если используется аргумент
sendEncodings, и содержит только для чтения параметр, отличный отrid.
Спецификации
| Спецификация |
|---|
| WebRTC: Связь в режиме реального времени в браузерах # dom-rtcpeerconnection-addtransceiver |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
addTransceiver |
69 | 79 | 59 | 56 | 11 | 69 | 59 | 48 | 11 | 10.0 | 69 |
init_direction_parameter |
69 | 79 | 59 | 56 | 11 | 69 | 59 | 48 | 11 | 10.0 | 69 |
init_sendEncodings_parameter |
69 | 79 | 110 | 56 | 14.1 | 69 | 110 | 48 | 14.5 | 10.0 | 69 |
init_streams_parameter |
69 | 79 | 59 | 56 | 12.1 | 69 | 59 | 48 | 12.2 | 10.0 | 69 |
См. также
- API WebRTC
- Введение в протокол RTP (Real-time Transport Protocol)
-
RTCPeerConnection.addTrack()также создает трансиверы -
RTCRtpReceiverиRTCRtpSender
© 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/RTCPeerConnection/addTransceiver