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

js
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.

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);
};

Spezifikationen

Specification
Web Audio API
# dom-baseaudiocontext-createdelay

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch