ConstantSourceNode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
ConstantSourceNode
インターフェイスはウェブオーディオ API の一部で、出力が 1 つの不変の値である音声ソース(AudioScheduledSourceNode
に基づいています)を表します。そのため、音声ソースから入ってくる値を一定に保つ必要がある場合に有益な値です。また、 offset
の値を自動化したり、他のノードを接続したりして、構成可能な AudioParam
として使用することができます。詳しくは ConstantSourceNode による複数の引数の制御を参照して下さい。
ConstantSourceNode
は入力を持たず、ちょうど 1 つのモノラル(1 チャンネル)出力を持ちます。出力の値は常に offset
引数の値と同じです。
入力数 | 0 |
---|---|
出力数 | 1 |
コンストラクター
ConstantSourceNode()
-
新しい
ConstantSourceNode
インスタンスを作成して返します。オプションとして、オブジェクトのプロパティの初期値を確立するためのオブジェクトを指定します。別の方法として、BaseAudioContext.createConstantSource()
ファクトリーメソッドを使用することができます。AudioNode の作成を参照してください。
インスタンスプロパティ
親インターフェイスである AudioScheduledSourceNode
からプロパティを継承しており、さらに以下のプロパティがあります。
offset
-
このソースが連続的に出力する値を指定する
AudioParam
。既定値では 1.0 です。
イベント
親インターフェイスである AudioScheduledSourceNode
からイベントを継承しています。
メモ: 一部のブラウザーでは、このイベントの実装は AudioScheduledSourceNode
インターフェイスの一部となっています。
ended
-
ConstantSourceNode
データの再生が停止するたびに発生します。
インスタンスメソッド
親インターフェイスである AudioScheduledSourceNode
からメソッドを継承しています。
メモ: 一部のブラウザーでは、これらのメソッドの実装は AudioScheduledSourceNode
インターフェイスの一部となっています。
例
ConstantSourceNode での複数の引数の制御の記事では、 ConstantSourceNode
を作成して 1 つのスライダーコントロールで 2 つの GainNode
のゲインを変更できるようにしています。 3 つのノードはこのように設定されています。
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;
volumeSliderControl.value = gainNode2.gain.value;
constantNode = context.createConstantSource();
constantNode.connect(gainNode2.gain);
constantNode.connect(gainNode3.gain);
constantNode.start();
gainNode2.connect(context.destination);
gainNode3.connect(context.destination);
このコードでは、まずゲインノードを作成し、それらとその値を調整するボリュームコントロールをすべて 0.5 に設定します。次に AudioContext.createConstantSource()
を呼び出して ConstantSourceNode
を作成し、 2 つのゲインノードのそれぞれのゲイン引数を ConstantSourceNode
に接続します。定電位ソースの start()
メソッドを呼び出して定電位ソースを開始した後です。最後に、 2 つのゲインノードは音声出力先(通常はスピーカーまたはヘッドフォン)に接続されます。
これで constantNode.offset
の値が変わるたびに、 gainNode2
と gainNode3
のゲインは同じ値になるように変化します。
この例を実際に見るには、また、これらのスニペットから派生したコードの残りを読むには、 ConstantSourceNode での複数の引数の制御 を参照してください。
仕様書
Specification |
---|
Web Audio API # ConstantSourceNode |
ブラウザーの互換性
BCD tables only load in the browser