Baseline Widely available
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The AudioWorkletNode()
constructor creates a new AudioWorkletNode
object, which represents an AudioNode
that uses a JavaScript function to perform custom audio processing.
new AudioWorkletNode(context, name)
new AudioWorkletNode(context, name, options)
Parameters
context
The BaseAudioContext
instance this node will be associated with.
name
A string, which represents the name of the AudioWorkletProcessor
this node will be based on. A processor with the provided name must first be registered using the AudioWorkletGlobalScope.registerProcessor()
method.
options
Optional
An object containing zero or more of the following optional properties to configure the new node:
Note: The result of the structured clone algorithm applied to the object is also internally passed into the associated AudioWorkletProcessor()
constructor â this allows custom initialization of an underlying user-defined AudioWorkletProcessor
.
numberOfInputs
Optional
The value to initialize the numberOfInputs
property to. Defaults to 1.
numberOfOutputs
Optional
The value to initialize the numberOfOutputs
property to. Defaults to 1.
outputChannelCount
Optional
An array defining the number of channels for each output. For example, outputChannelCount: [n, m] specifies the number of channels in the first output to be n and the second output to be m. The array length must match numberOfOutputs
.
parameterData
Optional
An object containing the initial values of custom AudioParam
objects on this node (in its parameters
property), with key
being the name of a custom parameter and value
being its initial value.
processorOptions
Optional
Any additional data that can be used for custom initialization of the underlying AudioWorkletProcessor
.
NotSupportedError
DOMException
The specified options.outputChannelCount
is 0
or larger than the current implementation supports.
Both options.numberOfInputs
and options.numberOfOutputs
are 0.
IndexSizeError
DOMException
The length of options.outputChannelCount
array does not match options.numberOfOutputs
.
Different options
parameter values can have the following effects.
If the number of inputs and number of outputs are both set to 0, a NotSupportedError
will be thrown and the node construction process aborted. If the length of the outputChannelCount
array doesn't match numberOfOutputs
, an IndexSizeError
DOMException
will be thrown.
If outputChannelCount
isn't specified, and numberOfInputs
and numberOfOutputs
are both 1, the AudioWorkletNode
's initial channel count is set to 1. This has the effect of changing the output channel count to dynamically change to the computed number of channels, based on the input's channel count and the current setting of the AudioNode
property channelCountMode
.
Otherwise, if outputChannelCount
is provided and if the values of numberOfInputs
and numberOfOutputs
are both 1, the audio worklet node's channel count is set to the value of outputChannelCount
. Otherwise, the channel count of each channel in the set of output channels is set to match the corresponding value in the outputChannelCount
array.
For a complete example demonstrating user-defined audio processing, see the AudioWorkletNode
page.
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.3