RTCPeerConnection: метод removeTrack()
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Метод removeTrack() интерфейса RTCPeerConnection сообщает локальной части соединения о прекращении отправки медиаданных от указанного трака, не удаляя при этом соответствующий объект RTCRtpSender из списка отправителей, как сообщается методом RTCPeerConnection.getSenders(). Если трак уже остановлен или не входит в список отправителей соединения, этот метод не имеет эффекта.
Если соединение уже было согласовано (signalingState установлено в "stable"), оно помечается как требующее повторного согласования; удалённое соединение не увидит изменений до тех пор, пока это согласование не произойдёт. В RTCPeerConnection отправляется событие negotiationneeded, чтобы сообщить локальной части о необходимости согласования.
Синтаксис
removeTrack(sender)
Параметры
sender-
Объект
RTCRtpSender, определяющий отправителя, который нужно удалить из соединения.
Возвращаемое значение
undefined.
Исключения
-
InvalidStateErrorDOMException -
Бросается, если соединение не открыто.
Пример
В этом примере к соединению добавляется видеотрак, и устанавливается обработчик на кнопке закрытия, который удаляет трак при нажатии пользователем на кнопку.
let pc;
let sender;
navigator.getUserMedia({ video: true }, (stream) => {
pc = new RTCPeerConnection();
const [track] = stream.getVideoTracks();
sender = pc.addTrack(track, stream);
});
document.getElementById("closeButton").addEventListener(
"click",
(event) => {
pc.removeTrack(sender);
pc.close();
},
false,
);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
removeTrack |
64 | 79 | 22 | 51 | 11 | 64 | 24 | 47 | 11 | 6.0 | 64 |
См. также
© 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/removeTrack