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.

* Some parts of this feature may have varying levels of support.

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 Schreibgeschützt

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

AudioContext.outputLatency Schreibgeschützt

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

AudioContext.sinkId Schreibgeschützt Experimentell Sicherer Kontext

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 Sicherer Kontext

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

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
AudioContext
AudioContext() constructor
options.latencyHint parameter
options.sampleRate parameter
options.sinkId parameter
Experimental
baseLatency
close
createMediaElementSource
createMediaStreamDestination
createMediaStreamSource
createMediaStreamTrackSource
error event
Experimental
getOutputTimestamp
outputLatency
resume
setSinkId
Experimental
sinkId
Experimental
sinkchange event
Experimental
suspend

Legend

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

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Siehe auch