MediaStreamTrack: событие mute
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Событие mute отправляется объекту MediaStreamTrack, когда источник дорожки временно не может предоставить данные медиа.
Когда дорожка снова сможет выводить медиаданные, отправляется событие unmute.
В период между событием mute и событием unmute значение свойства дорожки muted равно true.
Примечание: Состояние, которое большинство людей воспринимают как "выключение звука" (то есть, пользовательское состояние отключения дорожки), фактически управляется свойством MediaStreamTrack.enabled, для которого нет событий.
Это событие не может быть отменено и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.
addEventListener("mute", (event) => {});
onmute = (event) => {};
Тип события
Общее событие Event.
Примеры
В этом примере устанавливаются обработчики событий mute и unmute, чтобы определять, когда медиаданные не поступают от источника для MediaStreamTrack, на который ссылается musicTrack.
musicTrack.addEventListener(
"mute",
(event) => {
document.getElementById("timeline-widget").style.backgroundColor = "#aaa";
},
false,
);
musicTrack.addEventListener(
"unmute",
(event) => {
document.getElementById("timeline-widget").style.backgroundColor = "#fff";
},
false,
);
После установки этих обработчиков, когда дорожка musicTrack переходит в состояние muted, цвет фона элемента с ID timeline-widget изменяется на #aaa. Когда дорожка выходит из состояния выключения звука (обнаружено событием unmute), цвет фона восстанавливается до белого.
Вы также можете использовать свойство обработчика событий onmute для настройки обработчика этого события; аналогично, обработчик событий onunmute доступен для настройки обработчика события unmute. Следующий пример демонстрирует это:
musicTrack.onmute = (event) => {
document.getElementById("timeline-widget").style.backgroundColor = "#aaa";
};
musicTrack.onunmute = (event) => {
document.getElementById("timeline-widget").style.backgroundColor = "#fff";
};
Отключение дорожек через получатели
Следующий пример демонстрирует, как отключать дорожки с помощью получателей.
// Peer 1 (Receiver)
audioTrack.addEventListener("mute", (event) => {
// Do something in UI
});
videoTrack.addEventListener("mute", (event) => {
// Do something in UI
});
// Peer 2 (Sender)
const transceivers = peer.getTransceivers();
const audioTrack = transceivers[0];
audioTrack.direction = "recvonly";
const videoTrack = transceivers[1];
videoTrack.direction = "recvonly";
transceivers — массив RTCRtpTransceiver, где можно найти отправленные и полученные аудио- или видеодорожки. Дополнительную информацию см. в статье direction.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
mute_event |
26 | 12 | 59 | 15 | 11 | 26 | 59 | 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/MediaStreamTrack/mute_event