ConstantSourceNode: offset プロパティ

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.

offsetConstantSourceNode インターフェイスの読み取り専用プロパティで、 AudioParam オブジェクトを返し、数値で a-rate 値を示します。これはソースから次のサンプルを取り出す際に常に返されます。

メモ: offset という名前の AudioParam は読み取り専用ですが、その中の value プロパティは読み取り専用ではありません。そのため、 offset の値は ConstantSourceNode.offset.value の値を設定することで変更することができます。

js
myConstantSourceNode.offset.value = newValue;

このノードがサンプルごとに返す a-rate 値を示す AudioParam オブジェクトです。既定値は 1.0 です。

offset の現在の値にアクセスするには、上の構文ボックスで示したように、 value プロパティにアクセスしてください。

この例では、 ConstantSourceNode を設定して、その offsetGainNode のペアの入力として使用する方法を示します。この例は ConstantSourceNode による複数の引数の制御 にある、完全な例を元にして作成されています。

js
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;

volumeSliderControl.value = gainNode2.gain.value;

constantSource = context.createConstantSource();
constantSource.connect(gainNode2.gain);
constantSource.connect(gainNode3.gain);

まず、ゲインノードを作成して設定し、スライダーコントロールの値を 2 つのノードのゲインと一致するように設定します。次に、新しい ConstantSourceNode を作成し、それを 2 つのゲインノードの GainNode.gain 値のソースとします。それらの値はそれぞれAudioParamでもあります。

例えば、 2 つのゲインノードの値を変更して応答する必要のあるイベントハンドラー(この場合は click イベント用)があるとします。上記のリンクがあるところで、この単純なイベントハンドラーを使用して、それを行うことができます。

js
function handleClickEvent(event) {
  constantSource.offset.value = volumeSliderControl.value;
}

この関数がしなければならないことは、ペアノードのゲインを制御するために使用しているスライダーコントロールの現在の値を取得して、その値を ConstantSourceNodeoffset に格納することのみです。これは、その AudioParam.value プロパティの中身を変更することで行われます。 2 つのゲインノードはすばやく新しいボリュームレベルを採用します。

仕様書

Specification
Web Audio API
# dom-constantsourcenode-offset

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
offset

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報