AudioContext: close()-Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.
Die close()-Methode der AudioContext-Schnittstelle schließt den Audio-Kontext und gibt alle von ihm genutzten System-Audio-Ressourcen frei.
Diese Funktion gibt nicht automatisch alle durch AudioContext erstellten Objekte frei, es sei denn, andere Referenzen wurden ebenfalls freigegeben; jedoch werden alle System-Audio-Ressourcen zwangsweise freigegeben, die die Erstellung und Verwendung zusätzlicher AudioContexts verhindern könnten. Der Fortschritt der Audiozeit im Audio-Kontext wird ausgesetzt und die Audio-Datenverarbeitung gestoppt. Das zurückgegebene Promise wird aufgelöst, wenn alle Ressourcen, die die Erstellung eines AudioContext blockieren, freigegeben wurden. Diese Methode wirft eine INVALID_STATE_ERR-Exception, wenn sie auf einem OfflineAudioContext aufgerufen wird.
Syntax
close()
Parameter
Keine.
Rückgabewert
Beispiele
Der folgende Ausschnitt stammt aus unserem AudioContext-Zustände-Demo (live sehen.) Wenn der Stopp-Button geklickt wird, wird close() aufgerufen. Wenn das Versprechen aufgelöst wird, wird das Beispiel in den Anfangszustand zurückgesetzt.
stopBtn.onclick = () => {
audioCtx.close().then(() => {
startBtn.removeAttribute("disabled");
susResBtn.setAttribute("disabled", "disabled");
stopBtn.setAttribute("disabled", "disabled");
});
};
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # dom-audiocontext-close> |