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 ein AudioNode repräsentiert, welches eine JavaScript-Funktion zur individuellen Audioverarbeitung verwendet.

Syntax

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

Parameter

context

Die Instanz von BaseAudioContext, der dieser Knoten zugeordnet wird.

name

Ein String, der den Namen des AudioWorkletProcessor repräsentiert, auf dem dieser Knoten basiert. Ein Prozessor mit dem angegebenen Namen muss zunächst registriert werden, indem die Methode AudioWorkletGlobalScope.registerProcessor() verwendet wird.

options Optional

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

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

numberOfInputs Optional

Der Wert zum Initialisieren der numberOfInputs-Eigenschaft. Standard ist 1.

numberOfOutputs Optional

Der Wert zum Initialisieren der numberOfOutputs-Eigenschaft. Standard ist 1.

outputChannelCount Optional

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

parameterData Optional

Ein Objekt, das die Anfangswerte der benutzerdefinierten AudioParam-Objekte an diesem Knoten enthält (in seiner parameters-Eigenschaft), wobei key der Name eines benutzerdefinierten Parameters und value sein Anfangswert ist.

processorOptions Optional

Jegliche 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 entspricht nicht options.numberOfOutputs.

Verwendungshinweise

Verschiedene options-Parameterwerte können die folgenden Effekte haben.

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

Wenn outputChannelCount nicht angegeben ist und numberOfInputs und numberOfOutputs beide 1 sind, wird die anfängliche Kanalanzahl des AudioWorkletNode auf 1 gesetzt. Dies hat zur Folge, dass sich die Ausgangskanalanzahl dynamisch an die berechnete Anzahl der Kanäle anpasst, basierend auf der Kanalanzahl des Eingangs und der aktuellen Einstellung der AudioNode-Eigenschaft channelCountMode.

Andernfalls, wenn outputChannelCount angegeben ist und die Werte von numberOfInputs und numberOfOutputs beide 1 sind, wird die Kanalanzahl des Audio-Worklet-Knotens auf den Wert von outputChannelCount gesetzt. Andernfalls wird die Kanalanzahl jedes Kanals im Satz der Ausgangskanäle auf den entsprechenden Wert im outputChannelCount-Array gesetzt.

Beispiele

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

Spezifikationen

Specification
Web Audio API
# dom-audioworkletnode-audioworkletnode

Browser-Kompatibilität

Siehe auch