AudioWorkletNode: AudioWorkletNode() コンストラクター
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
の初期化のカスタマイズに用いる任意の追加データです。
例外
NotSupportedError
DOMException
-
指定された
options.outputChannelCount
が0
である、または現在の実装が対応する最大値より大きいとき投げられます。options.numberOfInputs
とoptions.numberOfOutputs
の両方が 0 であるとき投げられます。 IndexSizeError
DOMException
-
配列
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
のページに、ユーザー定義の音声処理のデモを行う完全な例があります。
例外
Specification |
---|
Web Audio API # dom-audioworkletnode-audioworkletnode |
ブラウザーの互換性
BCD tables only load in the browser