AudioContext: suspend()-Methode

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 suspend()-Methode der AudioContext-Schnittstelle unterbricht den Zeitfortschritt im Audio-Kontext, was vorübergehend den Zugriff auf die Audio-Hardware stoppt und den CPU-/Batterieverbrauch verringert. Dies ist nützlich, wenn eine Anwendung die Audio-Hardware ausschalten möchte, wenn sie den Audio-Kontext eine Weile nicht benötigt.

Diese Methode führt zu einer INVALID_STATE_ERR-Ausnahme, wenn sie auf einem OfflineAudioContext aufgerufen wird.

Syntax

js
suspend()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit undefined aufgelöst wird. Das Versprechen wird abgelehnt, wenn der Kontext bereits geschlossen wurde.

Beispiele

Der folgende Ausschnitt stammt aus unserem AudioContext-Zustände-Demo (sehen Sie es live in Aktion.) Wenn die Suspend-/Resume-Schaltfläche angeklickt wird, wird der AudioContext.state abgefragt — wenn er running ist, wird suspend() aufgerufen; wenn er suspended ist, wird resume() aufgerufen. In jedem Fall wird die Textbeschriftung der Schaltfläche entsprechend aktualisiert, sobald das Versprechen aufgelöst ist.

js
susResBtn.onclick = () => {
  if (audioCtx.state === "running") {
    audioCtx.suspend().then(() => {
      susResBtn.textContent = "Resume context";
    });
  } else if (audioCtx.state === "suspended") {
    audioCtx.resume().then(() => {
      susResBtn.textContent = "Suspend context";
    });
  }
};

Spezifikationen

Specification
Web Audio API
# dom-audiocontext-suspend

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
suspend

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch