MediaStreamTrack: mute Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2018.

Das mute Ereignis wird an ein MediaStreamTrack gesendet, wenn die Quelle des Tracks vorübergehend nicht in der Lage ist, Mediendaten bereitzustellen.

Wenn der Track wieder in der Lage ist, Medienausgaben zu erzeugen, wird ein unmute Ereignis gesendet.

In der Zeit zwischen dem mute Ereignis und dem unmute Ereignis ist der Wert der muted Eigenschaft des Tracks true.

Hinweis: Der Zustand, den die meisten Menschen als "stummschalten" betrachten (d.h. ein vom Benutzer ausgelöster Zustand des Stummschaltens eines Tracks), wird tatsächlich mit der MediaStreamTrack.enabled Eigenschaft verwaltet, für die es keine Ereignisse gibt.

Dieses Ereignis ist nicht abbruchfähig und wird nicht weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("mute", (event) => { })

onmute = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

In diesem Beispiel werden Ereignishandler für die mute und unmute Ereignisse eingerichtet, um zu erkennen, wann die Medienquelle für das MediaStreamTrack, das durch musicTrack referenziert wird, keine Daten liefert.

js
musicTrack.addEventListener(
  "mute",
  (event) => {
    document.getElementById("timeline-widget").style.backgroundColor = "#aaa";
  },
  false,
);

musicTrack.addEventListener(
  "unmute",
  (event) => {
    document.getElementById("timeline-widget").style.backgroundColor = "#fff";
  },
  false,
);

Mit diesen Ereignishandlern wird, wenn der Track musicTrack in seinen muted Zustand wechselt, die Hintergrundfarbe des Elements mit der ID timeline-widget auf #aaa geändert. Wenn der Track den stummgeschalteten Zustand verlässt – erkannt durch das Eintreffen eines unmute Ereignisses – wird die Hintergrundfarbe auf Weiß zurückgesetzt.

Sie können auch die onmute Ereignishandler-Eigenschaft verwenden, um einen Handler für dieses Ereignis einzurichten; ebenso ist der onunmute Ereignishandler verfügbar, um einen Handler für das unmute Ereignis einzurichten. Das folgende Beispiel zeigt dies:

js
musicTrack.onmute = (event) => {
  document.getElementById("timeline-widget").style.backgroundColor = "#aaa";
};

musicTrack.onunmute = (event) => {
  document.getElementById("timeline-widget").style.backgroundColor = "#fff";
};

Stummschalten von Tracks über Receiver

Das folgende Beispiel zeigt, wie Sie Tracks mithilfe von Receiver stummschalten können.

js
// 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 ist ein Array von RTCRtpTransceiver, in dem Sie den gesendeten und empfangenen Audio- oder Video-Track finden können. Weitere Informationen finden Sie im Artikel direction.

Spezifikationen

Specification
Media Capture and Streams
# dom-mediastreamtrack-onmute

Browser-Kompatibilität

Siehe auch