MediaStreamTrack: mute-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2018 browserübergreifend verfügbar.
Das mute-Ereignis wird an einen MediaStreamTrack gesendet, wenn die Quelle des Tracks vorübergehend keine Mediendaten bereitstellen kann.
Sobald der Track wieder Medien ausgeben kann, wird ein unmute-Ereignis gesendet.
Zwischen dem mute- und dem unmute-Ereignis hat die Eigenschaft muted des Tracks den Wert true.
Hinweis:
Der Zustand, den die meisten Menschen als „stummgeschaltet“ bezeichnen – also das Stummschalten eines Tracks durch den Benutzer –, wird tatsächlich über die Eigenschaft MediaStreamTrack.enabled gesteuert. Für diese Eigenschaft gibt es keine Ereignisse.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("mute", (event) => { })
Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:
onmute = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
In diesem Beispiel werden Event-Handler für die Ereignisse mute und unmute eingerichtet. Damit lässt sich erkennen, wann die Quelle des MediaStreamTrack, auf den musicTrack verweist, keine Mediendaten liefert.
musicTrack.addEventListener("mute", (event) => {
const widget = document.getElementById("timeline-widget");
widget.style.backgroundColor = "#aaaaaa";
});
musicTrack.addEventListener("unmute", (event) => {
document.getElementById("timeline-widget").style.backgroundColor = "white";
});
Mit diesen Event-Handlern ändert sich die Hintergrundfarbe des Elements mit der ID timeline-widget zu #aaaaaa, sobald der Track musicTrack in den Zustand muted wechselt. Verlässt der Track diesen Zustand – erkennbar am Eintreffen eines unmute-Ereignisses –, wird die Hintergrundfarbe wieder auf Weiß gesetzt.
Sie können auch die Event-Handler-Eigenschaft onmute verwenden, um einen Handler für dieses Ereignis einzurichten. Entsprechend steht der Event-Handler onunmute für das unmute-Ereignis zur Verfügung. Das folgende Beispiel zeigt dies. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onmute und onunmute hinzugefügte Event-Listener ersetzt werden:
musicTrack.onmute = (event) => {
document.getElementById("timeline-widget").style.backgroundColor = "#aaaaaa";
};
musicTrack.onunmute = (event) => {
document.getElementById("timeline-widget").style.backgroundColor = "white";
};
Tracks über Receiver stummschalten
Das folgende Beispiel zeigt, wie Sie Tracks mithilfe von Receivern stummschalten.
// Peer 1 (Sender)
const transceivers = peer.getTransceivers();
const audioTrack = transceivers[0];
audioTrack.direction = "recvonly";
const videoTrack = transceivers[1];
videoTrack.direction = "recvonly";
// Peer 2 (Receiver)
audioTrack.addEventListener("mute", (event) => {
// Do something in UI
});
videoTrack.addEventListener("mute", (event) => {
// Do something in UI
});
transceivers ist ein Array von RTCRtpTransceiver-Objekten, über die Sie den gesendeten und empfangenen Audio- oder Videotrack finden können. Weitere Informationen finden Sie im Artikel zu direction.
Spezifikationen
| Spezifikation |
|---|
| Media Capture and Streams> # dom-mediastreamtrack-onmute> |