Baseline Widely available
Der AudioWorkletProcessor()
Konstruktor erstellt ein neues AudioWorkletProcessor
Objekt, das einen zugrunde liegenden Audiobearbeitungsmechanismus eines AudioWorkletNode
darstellt.
Hinweis: Der AudioWorkletProcessor
und Klassen, die von ihm erben, können nicht direkt von benutzerdefiniertem Code instanziiert werden. Stattdessen werden sie nur intern durch die Erstellung eines zugehörigen AudioWorkletNode
erstellt.
new AudioWorkletProcessor(options)
Parameter
options
Ein Objekt, das als options Parameter an den AudioWorkletNode()
Konstruktor übergeben und durch den strukturierten Klon-Algorithmus geleitet wird. Verfügbare Eigenschaften sind wie folgt:
numberOfInputs
Optional
Der Wert zur Initialisierung der numberOfInputs
Eigenschaft. StandardmäÃig auf 1 gesetzt.
numberOfOutputs
Optional
Der Wert zur Initialisierung der numberOfOutputs
Eigenschaft. StandardmäÃig auf 1 gesetzt.
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 Array-Länge muss mit numberOfOutputs
übereinstimmen.
parameterData
Optional
Ein Objekt, das die Anfangswerte der benutzerdefinierten AudioParam
Objekte auf diesem Node enthält (in seiner parameters
Eigenschaft), wobei key
der Name eines benutzerdefinierten Parameters und value
dessen Anfangswert ist.
processorOptions
Optional
Alle 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 von dem Node an den AudioWorkletProcessor
Konstruktor übergebene options Objekt existiert und mindestens numberOfInputs
und numberOfOutputs
enthält.
Die neu erstellte AudioWorkletProcessor
Instanz.
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 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
und übergeben ihm den Namen des Prozessors und das options Objekt.
Im options Objekt übergeben wir processorOptions
mit einer Map
Instanz unter dem someUsefulVariable
Schlüssel. Wir übergeben nicht numberOfInputs
und beobachten, 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 someUsefulVariableSpezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4