AudioWorkletProcessor: AudioWorkletProcessor() 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.
Der AudioWorkletProcessor()
Konstruktor erstellt ein neues AudioWorkletProcessor
-Objekt, das einen zugrunde liegenden Audiobearbeitungsmechanismus eines
AudioWorkletNode
darstellt.
Hinweis:
Der AudioWorkletProcessor
und die von ihm abgeleiteten Klassen
können nicht direkt aus benutzergeliefertem Code instanziiert werden. Stattdessen werden sie nur intern durch die Erstellung eines zugehörigen AudioWorkletNode
erstellt.
Syntax
new AudioWorkletProcessor(options)
Parameter
options
-
Ein Objekt, das als options Parameter an den
AudioWorkletNode()
Konstruktor übergeben wird und durch den strukturieren Klon-Algorithmus übergeben wird. Verfügbare Eigenschaften sind wie folgt:numberOfInputs
Optional-
Der Wert zur Initialisierung der
numberOfInputs
Eigenschaft. Standardmäßig 1. numberOfOutputs
Optional-
Der Wert zur Initialisierung der
numberOfOutputs
Eigenschaft. Standardmäßig 1. outputChannelCount
Optional-
Ein Array, das die Anzahl der Kanäle für jeden Ausgang definiert. Beispielsweise gibt outputChannelCount: [n, m] die Anzahl der Kanäle im ersten Ausgang als n und im zweiten Ausgang als m an. Die Array-Länge muss
numberOfOutputs
entsprechen. parameterData
Optional-
Ein Objekt, das die Anfangswerte benutzerdefinierter
AudioParam
-Objekte auf diesem Node (in seinerparameters
Eigenschaft) enthält, wobeikey
der Name eines benutzerdefinierten Parameters ist undvalue
dessen Anfangswert. processorOptions
Optional-
Jegliche zusätzlichen Daten, die für die benutzerdefinierte Initialisierung des zugrunde liegenden
AudioWorkletProcessor
verwendet werden können.
Beachten Sie, dass es Standardwerte für die ersten beiden Eigenschaften gibt, sodass selbst wenn kein options Objekt an den
AudioWorkletNode()
Konstruktor übergeben wird, das options Objekt, das vom Node an denAudioWorkletProcessor
Konstruktor übergeben wird, existiert und zumindestnumberOfInputs
undnumberOfOutputs
enthält.
Rückgabewert
Die neu konstruierte AudioWorkletProcessor
-Instanz.
Beispiele
In diesem Beispiel übergeben wir benutzerdefinierte Optionen an den
AudioWorkletNode()
Konstruktor und
beobachten, wie ein strukturierter Klon davon an unseren AudioWorkletProcessor
Konstruktor übergeben wird.
Zuerst müssen wir einen benutzerdefinierten AudioWorkletProcessor
definieren und ihn registrieren.
Beachten Sie, dass dies in einer separaten Datei erfolgen sollte.
// test-processor.js
class TestProcessor extends AudioWorkletProcessor {
constructor(options) {
super();
console.log(options.numberOfInputs);
console.log(options.processorOptions.someUsefulVariable);
}
process(inputs, outputs, parameters) {
return true;
}
}
registerProcessor("test-processor", TestProcessor);
Als nächstes laden wir in unserer Hauptskriptdatei den Prozessor, erstellen eine Instanz von
AudioWorkletNode
, wobei wir ihm den Namen des Prozessors und das options
Objekt übergeben.
Im options Objekt übergeben wir processorOptions
mit einer
Map
Instanz unter dem Schlüssel someUsefulVariable
. Wir übergeben
numberOfInputs
nicht und sehen, wie es seinen Standardwert erhält.
const audioContext = new AudioContext();
await audioContext.audioWorklet.addModule("test-processor.js");
const testNode = new AudioWorkletNode(audioContext, "test-processor", {
processorOptions: {
someUsefulVariable: new Map([
[1, "one"],
[2, "two"],
]),
},
});
Die Konsolenausgabe wird wie folgt sein:
> 1 // AudioWorkletNode options.numberOfInputs set to default > Map(2) { 1 => "one", 2 => "two" } // A cloned map under someUsefulVariable
Spezifikationen
Specification |
---|
Web Audio API # dom-audioworkletprocessor-audioworkletprocessor |
Browser-Kompatibilität
Siehe auch
AudioWorkletNode
Schnittstelle