BaseAudioContext: state-Eigenschaft

Baseline Widely available

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

Die schreibgeschützte Eigenschaft state des BaseAudioContext-Interfaces gibt den aktuellen Zustand des AudioContext zurück.

Wert

Ein String. Mögliche Werte sind:

suspended

Der Audio-Kontext wurde angehalten (mit der Methode AudioContext.suspend().)

running

Der Audio-Kontext läuft normal.

closed

Der Audio-Kontext wurde geschlossen (mit der Methode AudioContext.close().)

Beispiele

Umgang mit Zustandsänderungen

Der folgende Ausschnitt stammt aus unserem AudioContext-Zustands-Demo (sehen Sie es live.) Der onstatechange-Handler wird verwendet, um den aktuellen Zustand bei jeder Änderung in der Konsole zu protokollieren.

js
audioCtx.onstatechange = () => {
  console.log(audioCtx.state);
};

Wiederaufnahme unterbrochener Wiedergabestände in iOS Safari

In iOS Safari, wenn ein Benutzer die Seite verlässt (z.B. Tabs wechselt, den Browser minimiert oder den Bildschirm ausschaltet), ändert sich der Zustand des Audio-Kontexts auf "unterbrochen" und muss wieder aufgenommen werden. Beispiel:

js
function play() {
  if (audioCtx.state === "interrupted") {
    audioCtx.resume().then(() => play());
    return;
  }
  // rest of the play() function
}

Spezifikationen

Specification
Web Audio API
# dom-baseaudiocontext-state

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch