Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

AudioContext: sinkchange-Ereignis

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Das sinkchange-Ereignis der Schnittstelle AudioContext wird ausgelöst, wenn sich das Audioausgabegerät und damit auch AudioContext.sinkId geändert hat.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onsinkchange = (event) => { }

Ereignistyp

Event.

Beispiele

Mit einem Listener für das sinkchange-Ereignis können Sie einen Wechsel des Audioausgabegeräts melden. Beachten Sie: Wenn sinkId ein AudioSinkInfo-Objekt enthält, bedeutet dies, dass die Audioausgabe so geändert wurde, dass sie auf keinem Ausgabegerät wiedergegeben wird.

js
audioCtx.addEventListener("sinkchange", () => {
  if (typeof audioCtx.sinkId === "object" && audioCtx.sinkId.type === "none") {
    console.log("Audio changed to not play on any device");
  } else {
    console.log(`Audio output device changed to ${audioCtx.sinkId}`);
  }
});

Ein funktionierendes Beispiel finden Sie in unserem SetSinkId-Testbeispiel. Sehen Sie sich auch den Quellcode an.

Spezifikationen

Spezifikation
Web Audio API
# eventdef-audiocontext-sinkchange

Browser-Kompatibilität

Siehe auch