RTCRtpSender: метод setStreams()
Метод RTCRtpSender setStreams() связывает трак track отправителя со специфицированными объектами MediaStream.
Синтаксис
setStreams() setStreams(mediaStream1) setStreams(mediaStream1, mediaStream2) setStreams(mediaStream1, mediaStream2, /* …, */ mediaStreamN)
Параметры
mediaStreamNНеобязательно-
Произвольное количество объектов
MediaStream, указанных в качестве аргументов, определяющих потоки, к которым принадлежит тракtrackотправителя. Если этот параметр не указан, с треком не будут связаны новые потоки.
Возвращаемое значение
None (undefined).
Исключения
-
InvalidStateErrorDOMException -
Выбрасывается, если соединение отправителя закрыто.
Описание
setStreams() является чисто аддитивным. Он не удаляет трак из потоков; он добавляет его к новым. Если вы указываете потоки, к которым трак уже принадлежит, этот поток не затронут.
После добавления трака ко всем потокам будет инициирована повторная установка соединения событием negotiationneeded, отправляемым в объект RTCPeerConnection, к которому принадлежит отправитель.
Примеры
В этом примере все траки объекта RTCPeerConnection добавляются к указанному потоку.
function addTracksToStream(stream) {
let senders = pc.getSenders();
senders.forEach((sender) => {
if (sender.track && sender.transport.state === connected) {
sender.setStreams(stream);
}
});
}
После вызова метода RTCPeerConnection getSenders() для получения списка отправителей подключения, функция addTracksToStream() перебирает список. Для каждого отправителя, если трак отправителя не null и состояние транспорта connected, мы вызываем setStreams() для добавления трака к указанному stream.
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
setStreams |
76 | 79 | 113 | 63 | 14.1 | 76 | 113 | 54 | 14.5 | 12.0 | 79 |
© 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/RTCRtpSender/setStreams