BaseAudioContext

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 BaseAudioContext-Interface der Web Audio API dient als Basisdefinition für Online- und Offline-Audioverarbeitungsgraphen, die durch AudioContext und OfflineAudioContext dargestellt werden. Sie würden BaseAudioContext nicht direkt verwenden – Sie würden seine Funktionen über eines dieser beiden vererbenden Interfaces nutzen.

Ein BaseAudioContext kann ein Ziel von Ereignissen sein und implementiert daher das EventTarget-Interface.

EventTarget BaseAudioContext

Instanz-Eigenschaften

BaseAudioContext.audioWorklet Nur lesbar Secure context

Gibt das AudioWorklet-Objekt zurück, das verwendet werden kann, um AudioNodes zu erstellen und zu verwalten, in denen JavaScript-Code, der das AudioWorkletProcessor-Interface implementiert, im Hintergrund ausgeführt wird, um Audiodaten zu verarbeiten.

BaseAudioContext.currentTime Nur lesbar

Gibt eine Zahl zurück, die eine sich ständig erhöhende Hardware-Zeit in Sekunden darstellt, die für die Planung verwendet wird. Sie beginnt bei 0.

BaseAudioContext.destination Nur lesbar

Gibt einen AudioDestinationNode zurück, der das endgültige Ziel aller Audioinhalte im Kontext darstellt. Dies kann als das Audio-Wiedergabegerät angesehen werden.

BaseAudioContext.listener Nur lesbar

Gibt das AudioListener-Objekt zurück, das für die 3D-Räumlichkeitswahrnehmung verwendet wird.

BaseAudioContext.sampleRate Nur lesbar

Gibt eine Gleitkommazahl zurück, die die Abtastrate (in Samples pro Sekunde) angibt, die von allen Knoten in diesem Kontext verwendet wird. Die Abtastrate eines AudioContext kann nicht geändert werden.

BaseAudioContext.state Nur lesbar

Gibt den aktuellen Zustand des AudioContext zurück.

Instanz-Methoden

Implementiert auch Methoden aus dem Interface EventTarget.

BaseAudioContext.createAnalyser()

Erstellt einen AnalyserNode, der verwendet werden kann, um Audio-Zeit- und Frequenzdaten darzustellen und beispielsweise Datenvisualisierungen zu erstellen.

BaseAudioContext.createBiquadFilter()

Erstellt einen BiquadFilterNode, der einen Filter zweiter Ordnung darstellt, der als verschiedene gängige Filtertypen konfiguriert werden kann: Hochpass, Tiefpass, Bandpass, etc.

BaseAudioContext.createBuffer()

Erstellt ein neues, leeres AudioBuffer-Objekt, das dann mit Daten gefüllt und über einen AudioBufferSourceNode abgespielt werden kann.

BaseAudioContext.createBufferSource()

Erstellt einen AudioBufferSourceNode, der verwendet werden kann, um Audiodaten abzuspielen und zu bearbeiten, die in einem AudioBuffer-Objekt enthalten sind. AudioBuffers werden mit AudioContext.createBuffer() erstellt oder von AudioContext.decodeAudioData() zurückgegeben, wenn es eine Audiospur erfolgreich dekodiert.

BaseAudioContext.createConstantSource()

Erstellt ein ConstantSourceNode-Objekt, eine Audioquelle, die kontinuierlich ein monaurales (einkanaliges) Audiosignal ausgibt, dessen Samples alle denselben Wert haben.

BaseAudioContext.createChannelMerger()

Erstellt einen ChannelMergerNode, der verwendet wird, um Kanäle aus mehreren Audiostreams in einen einzigen Audiostream zu kombinieren.

BaseAudioContext.createChannelSplitter()

Erstellt einen ChannelSplitterNode, der verwendet wird, um die einzelnen Kanäle eines Audiostreams zu bearbeiten.

BaseAudioContext.createConvolver()

Erstellt einen ConvolverNode, der verwendet werden kann, um Faltungseffekte auf Ihren Audiographen anzuwenden, beispielsweise einen Hall-Effekt.

BaseAudioContext.createDelay()

Erstellt einen DelayNode, der das eingehende Audiosignal um eine bestimmte Zeit verzögert. Dieser Knoten ist auch nützlich, um Feedback-Schleifen in einem Web Audio API-Graphen zu erstellen.

BaseAudioContext.createDynamicsCompressor()

Erstellt einen DynamicsCompressorNode, der verwendet werden kann, um eine akustische Kompression auf ein Audiosignal anzuwenden.

BaseAudioContext.createGain()

Erstellt einen GainNode, der verwendet werden kann, um die Gesamtlautstärke des Audiographen zu steuern.

BaseAudioContext.createIIRFilter()

Erstellt einen IIRFilterNode, der einen Filter zweiter Ordnung darstellt, der als verschiedene gängige Filtertypen konfiguriert werden kann.

BaseAudioContext.createOscillator()

Erstellt einen OscillatorNode, eine Quelle, die eine periodische Wellenform darstellt. Es erzeugt im Wesentlichen einen Ton.

BaseAudioContext.createPanner()

Erstellt einen PannerNode, der verwendet wird, um einen eingehenden Audiostream in einem 3D-Raum zu räumlich darstellen.

BaseAudioContext.createPeriodicWave()

Erstellt eine PeriodicWave, die verwendet wird, um eine periodische Wellenform zu definieren, die zur Bestimmung der Ausgabe eines OscillatorNode verwendet werden kann.

BaseAudioContext.createScriptProcessor() Veraltet

Erstellt einen ScriptProcessorNode, der für die direkte Audiobearbeitung über JavaScript verwendet werden kann.

BaseAudioContext.createStereoPanner()

Erstellt einen StereoPannerNode, der verwendet werden kann, um ein Stereo-Panning auf eine Audioquelle anzuwenden.

BaseAudioContext.createWaveShaper()

Erstellt einen WaveShaperNode, der verwendet wird, um nichtlineare Verzerrungseffekte zu implementieren.

BaseAudioContext.decodeAudioData()

Dekodiert asynchron Audiodateidaten, die in einem ArrayBuffer enthalten sind. In diesem Fall wird das ArrayBuffer normalerweise von einem XMLHttpRequest's response-Attribut geladen, nachdem der responseType auf arraybuffer gesetzt wurde. Diese Methode funktioniert nur mit vollständigen Dateien, nicht mit Fragmenten von Audiodateien.

Ereignisse

statechange

Wird ausgelöst, wenn sich der Zustand des AudioContext ändert, aufgrund des Aufrufs einer der Zustandsänderungsmethoden (AudioContext.suspend, AudioContext.resume oder AudioContext.close).

Beispiele

js
const audioContext = new AudioContext();

const oscillatorNode = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const finish = audioContext.destination;

Spezifikationen

Specification
Web Audio API
# BaseAudioContext

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch