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 Audioverarbeitungsgrafen, der aus miteinander verknüpften Audiomodulen besteht, die jeweils durch einen AudioNode dargestellt werden.
Ein Audiokontext steuert sowohl die Erstellung der darin enthaltenen Nodes als auch die Durchführung der Audiobearbeitung oder -decodierung. Sie müssen ein AudioContext erstellen, bevor Sie etwas anderes tun, da alles innerhalb eines Kontexts geschieht. Es wird empfohlen, ein einziges AudioContext zu erstellen und 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.baseLatencySchreibgeschützt-
Gibt die Anzahl der Sekunden an Verarbeitungsverzögerung zurück, die durch das
AudioContextbeim Übertragen des Audios vomAudioDestinationNodezum Audiosubsystem entsteht. AudioContext.outputLatencySchreibgeschützt-
Gibt eine Schätzung der Ausgabeverzögerung des aktuellen Audiokontexts zurück.
AudioContext.playbackStatsSchreibgeschützt-
Gibt ein
AudioPlaybackStats-Objekt zurück, das Zugriff auf Dauer-, Unterlauf- und Latenzstatistiken für dasAudioContextbietet. AudioContext.sinkIdSchreibgeschützt Sicherer Kontext-
Gibt die Sink-ID des aktuellen Audio-Ausgabegeräts zurück.
Instanz-Methoden
Erbt auch Methoden von seinem übergeordneten Interface, BaseAudioContext.
AudioContext.close()-
Schließt den Audiokontext und gibt alle Systemaudioressourcen frei, die er verwendet.
AudioContext.createMediaElementSource()-
Erstellt einen
MediaElementAudioSourceNode, der mit einemHTMLMediaElementassoziiert ist. Dies kann verwendet werden, um Audio von<video>- oder<audio>-Elementen abzuspielen und zu manipulieren. AudioContext.createMediaStreamSource()-
Erstellt einen
MediaStreamAudioSourceNode, der mit einemMediaStreamassoziiert ist, der einen Audiostream darstellt, der möglicherweise von einem Mikrofon des lokalen Computers oder anderen Quellen stammt. AudioContext.createMediaStreamDestination()-
Erstellt einen
MediaStreamAudioDestinationNode, der mit einemMediaStreamassoziiert ist, der möglicherweise in einer lokalen Datei gespeichert oder an einen anderen Computer gesendet wird. AudioContext.createMediaStreamTrackSource()-
Erstellt einen
MediaStreamTrackAudioSourceNode, der mit einemMediaStreamassoziiert ist, der einen Mediastream-Track darstellt. AudioContext.getOutputTimestamp()-
Gibt ein neues
AudioTimestamp-Objekt zurück, das zwei Audio-Zeitstempelwerte im Zusammenhang mit dem aktuellen Audiokontext enthält. AudioContext.resume()-
Setzt den Zeitverlauf in einem Audiokontext fort, der zuvor ausgesetzt/pausiert wurde.
AudioContext.setSinkId()Sicherer Kontext-
Setzt das Ausgabegerät für das
AudioContext. AudioContext.suspend()-
Setzt den Zeitverlauf im Audiokontext aus, was den Zugriff auf die Audio-Hardware vorübergehend stoppt und die CPU-/Akkunutzung verringert.
Ereignisse
sinkchange-
Wird ausgelöst, wenn sich das Ausgabegerät des Audios (und damit die
AudioContext.sinkId) geändert hat.
Beispiele
Grundlegende Deklaration eines Audiokontexts:
const audioCtx = new AudioContext();
const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # AudioContext> |