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.
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 vomAudioDestinationNode
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 einemHTMLMediaElement
verbunden ist. Dies kann verwendet werden, um Audio von<video>
oder<audio>
Elementen abzuspielen und zu manipulieren. AudioContext.createMediaStreamSource()
-
Erstellt eine
MediaStreamAudioSourceNode
, die mit einemMediaStream
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 einemMediaStream
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 einemMediaStream
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:
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