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

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

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