AudioWorkletNode: AudioWorkletNode() コンストラクター
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年4月以降、すべてのブラウザーで利用可能です。
AudioWorkletNode() コンストラクターは新しい AudioWorkletNode オブジェクトを作成します。このオブジェクトは、JavaScript の関数により独自の音声処理を行う AudioNode を表します。
構文
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の初期化のカスタマイズに用いる任意の追加データです。
例外
NotSupportedErrorDOMException-
指定された
options.outputChannelCountが0である、または現在の実装が対応する最大値より大きいとき投げられます。options.numberOfInputsとoptions.numberOfOutputsの両方が 0 であるとき投げられます。 IndexSizeErrorDOMException-
配列
options.outputChannelCountの長さがoptions.numberOfOutputsと一致しないとき投げられます。
使用上の注意点
options 引数の値によって、以下の効果があります。
入力の数と出力の数を両方 0 に設定すると、NotSupportedError が投げられ、生成処理が中断されます。配列 outputChannelCount の長さが numberOfOutputs と一致しない場合は、IndexSizeError DOMException が投げられます。
outputChannelCount が指定されておらず、numberOfInputs と numberOfOutputs がともに 1 の場合は、AudioWorkletNode の初期チャンネル数は 1 になります。この場合、出力のチャンネル数を変えることで、入力のチャンネル数と AudioNode の channelCountMode プロパティの設定に基づき、計算されたチャンネル数を動的に変えることができます。
outputChannelCount が指定されており、かつ numberOfInputs と numberOfOutputs がともに 1 の場合、このノードのチャンネル数は outputChannelCount の値になります。そうでない場合は、それぞれの出力のチャンネル数は配列 outputChannelCount の対応する値に従って設定されます。
例
AudioWorkletNode のページに、ユーザー定義の音声処理のデモを行う完全な例があります。
例外
| 仕様書 |
|---|
| Web Audio API> # dom-audioworkletnode-audioworkletnode> |