BaseAudioContext
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.
Das BaseAudioContext-Interface der Web Audio API dient als Basisdefinition für Online- und Offline-Audioverarbeitungsgraphen, die jeweils durch AudioContext und OfflineAudioContext dargestellt werden. Sie würden BaseAudioContext nicht direkt verwenden – Sie würden seine Funktionen über eines dieser beiden geerbten Schnittstellen nutzen.
Ein BaseAudioContext kann Ziel von Ereignissen sein, daher implementiert es das EventTarget-Interface.
Instanz-Eigenschaften
BaseAudioContext.audioWorkletSchreibgeschützt Sicherer Kontext-
Gibt das
AudioWorklet-Objekt zurück, das verwendet werden kann, umAudioNodes zu erstellen und zu verwalten, in denen JavaScript-Code, der dasAudioWorkletProcessor-Interface implementiert, im Hintergrund zur Verarbeitung von Audiodaten ausgeführt wird. BaseAudioContext.currentTimeSchreibgeschützt-
Gibt ein Double zurück, das eine sich ständig erhöhende Hardware-Zeit in Sekunden darstellt, die zur Planung verwendet wird. Sie beginnt bei
0. BaseAudioContext.destinationSchreibgeschützt-
Gibt ein
AudioDestinationNodezurück, das die endgültige Bestimmung aller Audios im Kontext darstellt. Es kann als das Audio-Rendering-Gerät betrachtet werden. BaseAudioContext.listenerSchreibgeschützt-
Gibt das
AudioListener-Objekt zurück, das für die 3D-Räumlichkeit verwendet wird. BaseAudioContext.sampleRateSchreibgeschützt-
Gibt ein Float zurück, das die Abtastrate (in Samples pro Sekunde) darstellt, die von allen Knoten in diesem Kontext verwendet wird. Die Abtastrate eines
AudioContextkann nicht geändert werden. BaseAudioContext.stateSchreibgeschützt-
Gibt den aktuellen Zustand des
AudioContextzurück.
Instanz-Methoden
Implementiert auch Methoden aus dem Interface EventTarget.
BaseAudioContext.createAnalyser()-
Erstellt ein
AnalyserNode, das verwendet werden kann, um Audiozeit- und Frequenzdaten offenzulegen und beispielsweise Datenvisualisierungen zu erstellen. BaseAudioContext.createBiquadFilter()-
Erstellt ein
BiquadFilterNode, das einen zweiten Ordnungsfilter darstellt, der als verschiedene gängige Filtertypen konfigurierbar ist: Hochpass, Tiefpass, Bandpass, usw. BaseAudioContext.createBuffer()-
Erstellt ein neues, leeres
AudioBuffer-Objekt, das dann mit Daten gefüllt und über einAudioBufferSourceNodeabgespielt werden kann. BaseAudioContext.createBufferSource()-
Erstellt ein
AudioBufferSourceNode, das verwendet werden kann, um Audiodaten zu spielen und zu manipulieren, die in einemAudioBuffer-Objekt enthalten sind.AudioBuffers werden mitAudioContext.createBuffer()erstellt oder durchAudioContext.decodeAudioData()zurückgegeben, wenn es eine Audiospur erfolgreich dekodiert. BaseAudioContext.createConstantSource()-
Erstellt ein
ConstantSourceNode-Objekt, das eine Audioquelle ist, die kontinuierlich ein monaurales (einkanaliges) Tonsignal ausgibt, dessen Samples alle denselben Wert haben. BaseAudioContext.createChannelMerger()-
Erstellt ein
ChannelMergerNode, das verwendet wird, um Kanäle aus mehreren Audioströmen zu einem einzigen Audiostrom zu kombinieren. BaseAudioContext.createChannelSplitter()-
Erstellt ein
ChannelSplitterNode, das verwendet wird, um die einzelnen Kanäle eines Audiostroms zuzugreifen und sie separat zu verarbeiten. BaseAudioContext.createConvolver()-
Erstellt ein
ConvolverNode, das verwendet werden kann, um Faltungseffekte auf Ihr Audio-Graphen anzuwenden, beispielsweise einen Halleffekt. BaseAudioContext.createDelay()-
Erstellt ein
DelayNode, das verwendet wird, um das eingehende Audiosignal um eine bestimmte Zeit zu verzögern. Dieser Node ist auch nützlich, um Rückkopplungsschleifen in einem Web Audio API-Graphen zu erstellen. BaseAudioContext.createDynamicsCompressor()-
Erstellt ein
DynamicsCompressorNode, das verwendet werden kann, um akustische Kompression auf ein Audiosignal anzuwenden. BaseAudioContext.createGain()-
Erstellt ein
GainNode, das verwendet werden kann, um die Gesamtlautstärke des Audio-Graphen zu steuern. BaseAudioContext.createIIRFilter()-
Erstellt ein
IIRFilterNode, das einen zweiten Ordnungsfilter darstellt, der als verschiedene gängige Filtertypen konfigurierbar ist. BaseAudioContext.createOscillator()-
Erstellt ein
OscillatorNode, eine Quelle, die eine periodische Wellenform darstellt. Es erzeugt im Wesentlichen einen Ton. BaseAudioContext.createPanner()-
Erstellt ein
PannerNode, das verwendet wird, um einen eingehenden Audiostrom im 3D-Raum zu räumlich zu gestalten. BaseAudioContext.createPeriodicWave()-
Erstellt ein
PeriodicWave, das verwendet wird, um eine periodische Wellenform zu definieren, die zur Bestimmung der Ausgabe einesOscillatorNodeverwendet werden kann. BaseAudioContext.createScriptProcessor()-
Erstellt ein
ScriptProcessorNode, das für die direkte Audiobearbeitung über JavaScript verwendet werden kann. BaseAudioContext.createStereoPanner()-
Erstellt ein
StereoPannerNode, das verwendet werden kann, um Stereo-Panning auf eine Audioquelle anzuwenden. BaseAudioContext.createWaveShaper()-
Erstellt ein
WaveShaperNode, das verwendet wird, um nichtlineare Verzerrungseffekte zu implementieren. BaseAudioContext.decodeAudioData()-
Dekodiert asynchron Audiodatendateien, die in einem
ArrayBufferenthalten sind. In diesem Fall wird derArrayBuffernormalerweise von einemXMLHttpRequest-response-Attribut geladen, nachdem derresponseTypeaufarraybuffergesetzt wurde. Diese Methode funktioniert nur mit vollständigen Dateien, nicht mit Fragmenten von Audiodateien.
Ereignisse
statechange-
Wird ausgelöst, wenn sich der Zustand des
AudioContextaufgrund des Aufrufs einer der Zustandsänderungsmethoden (AudioContext.suspend,AudioContext.resumeoderAudioContext.close) ändert.
Beispiele
const audioContext = new AudioContext();
const oscillatorNode = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const finish = audioContext.destination;
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # BaseAudioContext> |