AudioContext
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.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Das AudioContext-Interface repräsentiert einen Audiotverarbeitungsgraphen, der aus miteinander verbundenen Audiomodulen besteht, die jeweils durch ein AudioNode dargestellt werden.
Ein Audio-Kontext steuert sowohl die Erstellung der darin enthaltenen Knoten als auch die Ausführung der Audioverarbeitung oder -dekodierung. Sie müssen ein AudioContext erstellen, bevor Sie etwas anderes tun, da alles innerhalb eines Kontextes geschieht. Es wird empfohlen, ein AudioContext zu erstellen und es wiederzuverwenden, anstatt jedes Mal ein neues zu initialisieren. Es ist in Ordnung, ein einziges AudioContext für 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.baseLatencySchreibgeschützt-
Gibt die Anzahl der Sekunden der Verarbeitungsverzögerung zurück, die dem
AudioContextentsteht, wenn es den Ton vomAudioDestinationNodezum Audiosubsystem leitet. AudioContext.outputLatencySchreibgeschützt-
Gibt eine Schätzung der Ausgabeverzögerung des aktuellen Audiokontextes zurück.
AudioContext.playbackStatsSchreibgeschützt-
Gibt ein
AudioPlaybackStats-Objekt zurück, das Zugang zu Statistiken über Dauer, Unterbrechung und Latenz desAudioContextbietet. AudioContext.sinkIdSchreibgeschützt Sicherer Kontext-
Gibt die Sink-ID des aktuellen Ausgabegeräts zurück.
Instanz-Methoden
Erbt auch Methoden von seinem übergeordneten Interface, BaseAudioContext.
AudioContext.close()-
Schließt den Audio-Kontext und gibt alle genutzten System-Audioressourcen frei.
AudioContext.createMediaElementSource()-
Erstellt eine
MediaElementAudioSourceNode, die mit einemHTMLMediaElementassoziiert ist. Dies kann verwendet werden, um Audio von<video>oder<audio>-Elementen abzuspielen und zu manipulieren. AudioContext.createMediaStreamSource()-
Erstellt eine
MediaStreamAudioSourceNode, die mit einemMediaStreamassoziiert ist, das einen Audiostream repräsentiert, der von einem Mikrofon des lokalen Computers oder anderen Quellen stammen kann. AudioContext.createMediaStreamDestination()-
Erstellt eine
MediaStreamAudioDestinationNode, die mit einemMediaStreamassoziiert ist, das einen Audiostream repräsentiert, der in einer lokalen Datei gespeichert oder an einen anderen Computer gesendet werden kann. AudioContext.createMediaStreamTrackSource()-
Erstellt eine
MediaStreamTrackAudioSourceNode, die mit einemMediaStreamassoziiert ist, das eine Mediastream-Spur repräsentiert. AudioContext.getOutputTimestamp()-
Gibt ein neues
AudioTimestamp-Objekt zurück, das zwei Audio-Zeitstempelwerte in Bezug auf den aktuellen Audiokontext enthält. AudioContext.resume()-
Setzt die Fortschreitung der Zeit in einem Audiokontext fort, der zuvor angehalten oder pausiert wurde.
AudioContext.setSinkId()Sicherer Kontext-
Legt das Ausgabegerät für den
AudioContextfest. AudioContext.suspend()-
Hält die Fortschreitung der Zeit im Audiokontext an, stoppt vorübergehend den Zugang zu Audio-Hardware und reduziert dabei den CPU-/Batterieverbrauch.
Ereignisse
sinkchange-
Wird ausgelöst, wenn das Ausgabe-Audiogerät (und somit die
AudioContext.sinkId) geändert wurde.
Beispiele
Grundlegende Deklaration eines Audiokontextes:
const audioCtx = new AudioContext();
const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # AudioContext> |