AudioContext.createDelay()
åºçº¿
广æ³å¯ç¨
èª 2021å¹´4æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
createDelay() æ¯ AudioContext çä¸ä¸ªæ¹æ³ï¼ä½ç¨æ¯å°è¾å
¥é³é¢ä¿¡å·å»¶è¿ä¸å®æ¶é´ãï¼æ¯å¦å¯ä»¥å®ç° 对çè¯ç说å¥è¯ï¼ç¶åå ç§å è¿å¥è¯ä»é³åéææ¾åºæ¥ï¼
è¯æ³
var audioCtx = new AudioContext();
var synthDelay = audioCtx.createDelay(maxDelayTime);
åæ°
- maxDelayTime
-
设置æå¤§å 许延è¿çæ¶é´ï¼ä»¥âç§â为åä½
è¿å
A DelayNode. The default DelayNode.delayTime if no parameter is passed to createDelay() is 0 seconds.
以䏿¯åæï¼å¤§ææ¯è¿åå»¶æ¶æ¶é´ï¼æ²¡æè®¾ç½®æ¶é»è®¤æ¯ 0
示ä¾
æä»¬å建äºä¸ä¸ªå è®¸ä½ å¾ªç¯ææ¾ä¸ä¸ªä¸åæ ·ä¾çç®å示ä¾ââåé create-delayï¼ä½ ä¹å¯ä»¥æ¥çæºä»£ç ï¼ãå¦æä½ åªæä¸ææ¾æé®ï¼å¾ªç¯å°ç«å»å¼å§ï¼å¦æä½ å°æ»åå峿»å¨ï¼ç¶åæä¸ææ¾æé®ï¼åä¼å¼å ¥å»¶è¿ï¼å æ¤å¾ªç¯ç声é³ä¸ä¼ç«å»å¼å§ææ¾ã
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 > |