BaseAudioContext: createDelay() Methode
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.
Die createDelay()
-Methode der BaseAudioContext
-Schnittstelle wird verwendet, um ein DelayNode
zu erstellen, welches das eingehende Audiosignal um eine bestimmte Zeit verzögern kann.
Hinweis: Der DelayNode()
-Konstruktor wird empfohlen, um ein DelayNode
zu erstellen; siehe Erstellung eines AudioNode.
Syntax
createDelay(maxDelayTime)
Parameter
maxDelayTime
Optional-
Die maximale Zeit in Sekunden, um die das Audiosignal verzögert werden kann. Muss weniger als 180 Sekunden betragen und wird standardmäßig auf 1 Sekunde gesetzt, wenn nicht angegeben.
Rückgabewert
Ein DelayNode
. Der Standardwert von DelayNode.delayTime
beträgt 0 Sekunden.
Beispiele
Wir haben ein Beispiel erstellt, das es Ihnen ermöglicht, drei verschiedene Samples in einer konstanten Schleife abzuspielen — siehe create-delay (Sie können auch den Quellcode ansehen). Wenn Sie einfach die Wiedergabeknöpfe drücken, starten die Schleifen sofort; wenn Sie die Schieberegler nach rechts bewegen und dann die Wiedergabeknöpfe drücken, wird eine Verzögerung eingeführt, sodass die Schleifklänge für eine kurze Zeit nicht abgespielt werden.
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);
};
Spezifikationen
Specification |
---|
Web Audio API # dom-baseaudiocontext-createdelay |
Browser-Kompatibilität
BCD tables only load in the browser