AudioWorkletNode: AudioWorkletNode() コンストラクター

AudioWorkletNode() コンストラクターは新しい AudioWorkletNode オブジェクトを作成します。このオブジェクトは、JavaScript の関数により独自の音声処理を行う AudioNode を表します。

構文

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

引数

context

このノードを関連付ける BaseAudioContext のインスタンスです。

name

このノードのもととなる AudioWorkletProcessor の名前を表す文字列です。 指定の名前の処理器が AudioWorkletGlobalScope.registerProcessor() メソッドで登録されている必要があります。

options 省略可

以下の任意のプロパティのうち 0 個以上を持ち、新しいノードの設定をするオブジェクトです。

メモ: このオブジェクトに構造化複製アルゴリズムを適用した結果が内部で対応する AudioWorkletProcessor() コンストラクターに渡されます。 これにより、用いるユーザー定義の AudioWorkletProcessor の初期化のカスタマイズが可能になります。

numberOfInputs 省略可

numberOfInputs プロパティを初期化する値です。デフォルト値は 1 です。

numberOfOutputs 省略可

numberOfOutputs プロパティを初期化する値です。デフォルト値は 1 です。

outputChannelCount 省略可

それぞれの出力のチャンネル数を定義する 配列 です。たとえば、outputChannelCount: [n, m] は最初の出力のチャンネル数を n に、2 番目の出力のチャンネル数を m に設定します。配列の長さは numberOfOutputs と一致しなければなりません。

parameterData 省略可

このノード (の parameters プロパティ) の独自の AudioParam オブジェクトの初期値を持つオブジェクトです。独自パラメーターの名前をキー、初期値を値とします。

processorOptions 省略可

用いる AudioWorkletProcessor の初期化のカスタマイズに用いる任意の追加データです。

例外

NotSupportedError DOMException

指定された options.outputChannelCount0 である、または現在の実装が対応する最大値より大きいとき投げられます。

options.numberOfInputsoptions.numberOfOutputs の両方が 0 であるとき投げられます。

IndexSizeError DOMException

配列 options.outputChannelCount の長さが options.numberOfOutputs と一致しないとき投げられます。

使用上の注意点

options 引数の値によって、以下の効果があります。

入力の数と出力の数を両方 0 に設定すると、NotSupportedError が投げられ、生成処理が中断されます。配列 outputChannelCount の長さが numberOfOutputs と一致しない場合は、IndexSizeError DOMException が投げられます。

outputChannelCount が指定されておらず、numberOfInputsnumberOfOutputs がともに 1 の場合は、AudioWorkletNode の初期チャンネル数は 1 になります。この場合、出力のチャンネル数を変えることで、入力のチャンネル数と AudioNodechannelCountMode プロパティの設定に基づき、計算されたチャンネル数を動的に変えることができます。

outputChannelCount が指定されており、かつ numberOfInputsnumberOfOutputs がともに 1 の場合、このノードのチャンネル数は outputChannelCount の値になります。そうでない場合は、それぞれの出力のチャンネル数は配列 outputChannelCount の対応する値に従って設定されます。

AudioWorkletNode のページに、ユーザー定義の音声処理のデモを行う完全な例があります。

例外

Specification
Web Audio API
# dom-audioworkletnode-audioworkletnode

ブラウザーの互換性

BCD tables only load in the browser

関連情報