AudioContext

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.

Das AudioContext-Interface repräsentiert einen Audiobearbeitungsgraphen, der aus miteinander verbundenen Audiomodulen besteht, von denen jedes durch ein AudioNode dargestellt wird.

Ein AudioContext steuert sowohl die Erstellung der darin enthaltenen Knoten als auch die Ausführung der Audiobearbeitung oder -decodierung. Sie müssen ein AudioContext erstellen, bevor Sie etwas anderes tun, da alles innerhalb eines Kontextes stattfindet. Es wird empfohlen, ein einzelnes AudioContext zu erstellen und es wiederzuverwenden, anstatt jedes Mal ein neues zu initialisieren. Es ist in Ordnung, ein einziges AudioContext für mehrere verschiedene Audioquellen und Pipelines gleichzeitig zu verwenden.

EventTarget BaseAudioContext AudioContext

Konstruktor

AudioContext()

Erstellt und gibt ein neues AudioContext-Objekt zurück.

Instanz-Eigenschaften

Erbt auch Eigenschaften von seinem übergeordneten Interface, BaseAudioContext.

AudioContext.baseLatency Nur lesbar

Gibt die Anzahl der Sekunden der Verarbeitungslatenz an, die das AudioContext benötigt, um das Audio vom AudioDestinationNode an das Audiosubsystem weiterzugeben.

AudioContext.outputLatency Nur lesbar

Gibt eine Schätzung der Ausgabelatenz des aktuellen Audiokontextes zurück.

AudioContext.sinkId Nur lesbar Experimentell Secure context

Gibt die Sink-ID des aktuellen Ausgabegerätes zurück.

Instanz-Methoden

Erbt auch Methoden von seinem übergeordneten Interface, BaseAudioContext.

AudioContext.close()

Schließt den Audiokontext und gibt dabei alle verwendeten Systemaudioressourcen frei.

AudioContext.createMediaElementSource()

Erstellt eine MediaElementAudioSourceNode, die mit einem HTMLMediaElement verbunden ist. Dies kann verwendet werden, um Audio von <video> oder <audio> Elementen abzuspielen und zu manipulieren.

AudioContext.createMediaStreamSource()

Erstellt eine MediaStreamAudioSourceNode, die mit einem MediaStream verbunden ist, das einen Audiostream repräsentiert, der möglicherweise von einem lokalen Computermikrofon oder anderen Quellen stammt.

AudioContext.createMediaStreamDestination()

Erstellt eine MediaStreamAudioDestinationNode, die mit einem MediaStream verbunden ist, das einen Audiostream repräsentiert, der möglicherweise in einer lokalen Datei gespeichert oder an einen anderen Computer gesendet wird.

AudioContext.createMediaStreamTrackSource()

Erstellt eine MediaStreamTrackAudioSourceNode, die mit einem MediaStream verbunden ist, das einen Medienstrom-Track repräsentiert.

AudioContext.getOutputTimestamp()

Gibt ein neues AudioTimestamp-Objekt zurück, das zwei Audiotimestamp-Werte in Bezug auf den aktuellen Audiokontext enthält.

AudioContext.resume()

Setzt den Zeitverlauf in einem Audiokontext fort, der zuvor ausgesetzt/pausiert wurde.

AudioContext.setSinkId() Experimentell Secure context

Setzt das Ausgabeaudiogerät für das AudioContext.

AudioContext.suspend()

Setzt den Zeitverlauf im Audiokontext aus und stoppt vorübergehend den Zugriff auf die Audiohardware, wodurch der CPU- und Batterieverbrauch reduziert wird.

Ereignisse

sinkchange Experimentell

Wird ausgelöst, wenn sich das Ausgabegerät (und damit die AudioContext.sinkId) geändert hat.

Beispiele

Grundlegende Deklaration eines Audiokontextes:

js
const audioCtx = new AudioContext();

const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.

Spezifikationen

Specification
Web Audio API
# AudioContext

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch