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
maxDelayTimeOptional- 
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
Loading…