1. 開発者向けのウェブ技術
  2. Web API
  3. BaseAudioContext
  4. createDelay()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

BaseAudioContext: createDelay() メソッド

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年4月以降、すべてのブラウザーで利用可能です。

createDelay()BaseAudioContext インターフェイスのメソッドで、 DelayNode を生成します。これは、入力される音声信号を一定時間遅らせるために使用します。

メモ: DelayNode() コンストラクターは DelayNode を作成するための推奨される方法です。 AudioNode の作成を参照してください。

構文

js
createDelay(maxDelayTime)

引数

maxDelayTime 省略可

音声信号を遅延させることができる最大時間(秒)を指定します。 180 秒未満である必要があり、指定しない場合は 1 秒が既定値となります。

返値

DelayNode です。既定の DelayNode.delayTime は 0 秒です。

3 つの異なるサンプルを一定のループで再生する簡単な例を作成しました。 create-delay をご覧ください(ソースコードを閲覧することもできます)。再生ボタンを押しただけでは、ループはすぐに始まります。スライダーを右にスライドさせてから再生ボタンを押すと、遅延が導入され、ループする音は短い時間だけ再生を開始しません。

js
const audioCtx = new AudioContext();
const synthDelay = audioCtx.createDelay(5.0);
// ...
let synthSource;
playSynth.onclick = () => {
 synthSource = audioCtx.createBufferSource();
 synthSource.buffer = buffers[2];
 synthSource.loop = true;
 synthSource.start();
 synthSource.connect(synthDelay);
 synthDelay.connect(destination);
 this.setAttribute("disabled", "disabled");
};
stopSynth.onclick = () => {
 synthSource.disconnect(synthDelay);
 synthDelay.disconnect(destination);
 synthSource.stop();
 playSynth.removeAttribute("disabled");
};
// ...
let delay1;
rangeSynth.oninput = () => {
 delay1 = rangeSynth.value;
 synthDelay.delayTime.setValueAtTime(delay1, audioCtx.currentTime);
};

仕様書

仕様書
Web Audio API
# dom-baseaudiocontext-createdelay

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /