AudioWorkletNode: AudioWorkletNode() Konstruktor

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Der AudioWorkletNode()-Konstruktor erstellt ein neues AudioWorkletNode-Objekt, das einen AudioNode darstellt, der eine JavaScript-Funktion verwendet, um benutzerdefinierte Audiobearbeitung durchzuführen.

Syntax

js
new AudioWorkletNode(context, name)
new AudioWorkletNode(context, name, options)

Parameter

context

Die BaseAudioContext-Instanz, mit der dieser Node verbunden sein wird.

name

Ein String, der den Namen des AudioWorkletProcessor darstellt, auf dem dieser Knoten basieren wird. Ein Prozessor mit dem angegebenen Namen muss zuerst mittels der Methode AudioWorkletGlobalScope.registerProcessor() registriert werden.

options Optional

Ein Objekt, das null oder mehr der folgenden optionalen Eigenschaften enthält, um den neuen Node zu konfigurieren:

Hinweis: Das Ergebnis des strukturierten Klon-Algorithmus, angewendet auf das Objekt, wird auch intern an den zugehörigen AudioWorkletProcessor()-Konstruktor übergeben — dies ermöglicht eine benutzerdefinierte Initialisierung eines benutzerdefinierten AudioWorkletProcessor.

numberOfInputs Optional

Der Wert zur Initialisierung der numberOfInputs-Eigenschaft. Standardmäßig ist dies 1.

numberOfOutputs Optional

Der Wert zur Initialisierung der numberOfOutputs-Eigenschaft. Standardmäßig ist dies 1.

outputChannelCount Optional

Ein Array, das die Anzahl der Kanäle für jeden Ausgang definiert. Zum Beispiel spezifiziert outputChannelCount: [n, m] die Anzahl der Kanäle im ersten Ausgang als n und im zweiten Ausgang als m. Die Länge des Arrays muss numberOfOutputs entsprechen.

parameterData Optional

Ein Objekt, das die Anfangswerte von benutzerdefinierten AudioParam-Objekten auf diesem Node (in seiner parameters-Eigenschaft) enthält, wobei key der Name eines benutzerdefinierten Parameters und value dessen Anfangswert ist.

processorOptions Optional

Alle zusätzlichen Daten, die für eine benutzerdefinierte Initialisierung des zugrunde liegenden AudioWorkletProcessor verwendet werden können.

Ausnahmen

NotSupportedError DOMException

Die angegebene options.outputChannelCount ist 0 oder größer als die aktuelle Implementierung unterstützt.

Sowohl options.numberOfInputs als auch options.numberOfOutputs sind 0.

IndexSizeError DOMException

Die Länge des options.outputChannelCount-Arrays stimmt nicht mit options.numberOfOutputs überein.

Nutzungshinweise

Verschiedene Werte des options-Parameters können die folgenden Effekte haben.

Wenn sowohl die Anzahl der Eingänge als auch der Ausgänge auf 0 gesetzt sind, wird ein NotSupportedError ausgelöst und der Knotenherstellungsprozess abgebrochen. Wenn die Länge des outputChannelCount-Arrays nicht mit numberOfOutputs übereinstimmt, wird ein IndexSizeError DOMException ausgelöst.

Wenn outputChannelCount nicht angegeben wird und sowohl numberOfInputs als auch numberOfOutputs auf 1 gesetzt sind, wird die anfängliche Kanalanzahl des AudioWorkletNode auf 1 gesetzt. Dies hat den Effekt, die Anzahl der Ausgangskanäle dynamisch an die berechnete Anzahl der Kanäle anzupassen, basierend auf der Kanalanzahl des Eingangs und der aktuellen Einstellung der AudioNode-Eigenschaft channelCountMode.

Andernfalls, wenn outputChannelCount angegeben wird und die Werte von numberOfInputs und numberOfOutputs beide 1 sind, wird die Kanalanzahl des Audio-Worklet-Knotens auf den Wert von outputChannelCount gesetzt. Ansonsten wird die Kanalanzahl jedes Kanals im Satz von Ausgangskanälen so gesetzt, dass sie mit dem entsprechenden Wert im outputChannelCount-Array übereinstimmt.

Beispiele

Für ein vollständiges Beispiel, das benutzerdefinierte Audiobearbeitung demonstriert, siehe die Seite AudioWorkletNode.

Spezifikationen

Specification
Web Audio API
# dom-audioworkletnode-audioworkletnode

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch