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 引数の値と同じです。

EventTarget AudioNode AudioScheduledSourceNode ConstantSourceNode
入力数 0
出力数 1

コンストラクター

ConstantSourceNode()

新しい ConstantSourceNode インスタンスを作成して返します。オプションとして、オブジェクトのプロパティの初期値を確立するためのオブジェクトを指定します。別の方法として、BaseAudioContext.createConstantSource() ファクトリーメソッドを使用することができます。AudioNode の作成を参照してください。

インスタンスプロパティ

親インターフェイスである AudioScheduledSourceNode からプロパティを継承しており、さらに以下のプロパティがあります。

offset

このソースが連続的に出力する値を指定する AudioParam。既定値では 1.0 です。

イベント

親インターフェイスである AudioScheduledSourceNode からイベントを継承しています。

メモ: 一部のブラウザーでは、このイベントの実装は AudioScheduledSourceNode インターフェイスの一部となっています。

ended

ConstantSourceNode データの再生が停止するたびに発生します。

インスタンスメソッド

親インターフェイスである AudioScheduledSourceNode からメソッドを継承しています。

メモ: 一部のブラウザーでは、これらのメソッドの実装は AudioScheduledSourceNode インターフェイスの一部となっています。

start()

正確な時刻に音を再生するようにスケジュールします。

stop()

正確な時刻に音を再生停止するようスケジュールします。

ConstantSourceNode での複数の引数の制御の記事では、 ConstantSourceNode を作成して 1 つのスライダーコントロールで 2 つの GainNode のゲインを変更できるようにしています。 3 つのノードはこのように設定されています。

js
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 の値が変わるたびに、 gainNode2gainNode3 のゲインは同じ値になるように変化します。

この例を実際に見るには、また、これらのスニペットから派生したコードの残りを読むには、 ConstantSourceNode での複数の引数の制御 を参照してください。

仕様書

Specification
Web Audio API
# ConstantSourceNode

ブラウザーの互換性

BCD tables only load in the browser

関連情報