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 einen DelayNode
zu erstellen, der das eingehende Audiosignal um eine bestimmte Zeit verzögert.
Hinweis: Der DelayNode()
-Konstruktor ist die empfohlene Methode, um einen DelayNode
zu erstellen; siehe
Erstellen eines AudioNode.
Syntax
createDelay(maxDelayTime)
Parameter
maxDelayTime
Optional-
Die maximale Zeitdauer in Sekunden, um die das Audiosignal verzögert werden kann. Muss weniger als 180 Sekunden betragen und standardmäßig auf 1 Sekunde, wenn nicht angegeben.
Rückgabewert
Ein DelayNode
. Der Standardwert von DelayNode.delayTime
beträgt 0 Sekunden.
Beispiele
Wir haben ein einfaches Beispiel erstellt, das Ihnen ermöglicht, drei verschiedene Samples in einer kontinuierlichen Schleife abzuspielen — siehe create-delay (Sie können auch den Quellcode anzeigen). Wenn Sie einfach die Wiedergabeknöpfe drücken, starten die Schleifen sofort; wenn Sie die Schieberegler nach oben nach rechts bewegen und dann die Wiedergabeknöpfe drücken, wird eine Verzögerung eingeführt, so dass die Schleifengeräusche für eine kurze Zeit nicht beginnen zu spielen.
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