AudioScheduledSourceNode: stop() メソッド
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.
stop()
は AudioScheduledSourceNode
のメソッドは、指定された時刻に音の再生が停止するようにスケジュールします。時刻を指定しない場合は、音は直ちに再生を停止します。
同じノードで stop()
を呼び出すたびに、以前にスケジュールされた停止時刻のうち、まだ発生していない時刻が指定された時刻に置き換わります。ノードが既に停止している場合、このメソッドは何の効果もありません。
メモ: ノードの予定開始時刻の前に予定停止時刻が発生した場合、ノードは再生を開始しません。
構文
stop()
stop(when)
引数
when
省略可-
音の再生を停止する時刻を、秒単位で指定します。この値は
AudioContext
がそのcurrentTime
属性に使用しているのと同じ時間座標系で指定されます。この引数を除外したり、 0 を指定したり、負の値を渡したりすると、音の再生が即座に停止します。
返値
なし (undefined
)。
例外
InvalidStateNode
DOMException
-
ノードが
start()
の呼び出しによって開始されていない場合に発生します。 RangeError
-
when
に指定した値が負である場合に発生します。
例
この例では、発振器ノードを起動し、すぐに演奏を始め、 1 つ目で演奏を停止するようにスケジュールしています。停止時間は、音声コンテキストの現在時刻を AudioContext.currentTime
から取り出し、 1 秒を足すことで決定されます。
context = new AudioContext();
osc = context.createOscillator();
osc.connect(context.destination);
/* しばらく後に停止させたい場合は、引数として秒数を指定します。 */
osc.start();
osc.stop(context.currentTime + 1);
仕様書
Specification |
---|
Web Audio API # dom-audioscheduledsourcenode-stop |
ブラウザーの互換性
BCD tables only load in the browser