Baseline Widely available
The createDelay()
method of the BaseAudioContext
Interface is used to create a DelayNode
, which is used to delay the incoming audio signal by a certain amount of time.
Note: The DelayNode()
constructor is the recommended way to create a DelayNode
; see Creating an AudioNode.
createDelay(maxDelayTime)
Parameters
maxDelayTime
Optional
The maximum amount of time, in seconds, that the audio signal can be delayed by. Must be less than 180 seconds, and defaults to 1 second if not specified.
A DelayNode
. The default DelayNode.delayTime
is 0 seconds.
We have created an example that allows you to play three different samples on a constant loop â see create-delay (you can also view the source code). If you just press the play buttons, the loops will start immediately; if you slide the sliders up to the right, then press the play buttons, a delay will be introduced, so the looping sounds don't start playing for a short amount of time.
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);
};
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3