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():
addEventListener("sinkchange", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
onsinkchange = (event) => { }
Ereignistyp
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.
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> |