BaseAudioContext: createDelay() 方法
BaseAudioContext 介面的 createDelay() 方法用於建立一個 DelayNode,該節點用於將傳入的音訊訊號延遲一段時間。
注意: 建立 DelayNode 的推薦方式是使用 DelayNode() 建構函式;請參閱 建立 AudioNode。
語法
js
createDelay(maxDelayTime)
引數
maxDelayTime可選-
音訊訊號可以延遲的最大時間(以秒為單位)。必須小於 180 秒,如果未指定,則預設為 1 秒。
返回值
一個 DelayNode。預設的 DelayNode.delayTime 為 0 秒。
示例
我們建立了一個示例,允許您迴圈播放三個不同的取樣——請參閱 create-delay(您也可以 檢視原始碼)。如果您只點擊播放按鈕,迴圈將立即開始;如果您將滑塊向上滑動,然後點選播放按鈕,則會引入延遲,因此迴圈聲音不會立即播放。
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);
};
規範
| 規範 |
|---|
| Web Audio API # dom-baseaudiocontext-createdelay |
瀏覽器相容性
載入中…