AudioContext.createBiquadFilter()
åºçº¿
广æ³å¯ç¨
èª 2021å¹´4æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
AudioContext çcreateBiquadFilter() æ¹æ³å建äºä¸ä¸ª BiquadFilterNode, 宿ä¾äºä¸ä¸ªå¯ä»¥æå®å¤ä¸ªä¸åçä¸è¬æ»¤æ³¢å¨ç±»åçåäºé¶æ»¤æ³¢å¨ã
è¯æ³
js
var audioCtx = new AudioContext();
var biquadFilter = audioCtx.createBiquadFilter();
è¿å
ä¸ä¸ª BiquadFilterNode.
示ä¾
è¿ä¸ªä¾åå±ç¤ºäºä¸ä¸ªå©ç¨ AudioContext å建å项滤波å¨èç¹ï¼Biquad filter nodeï¼çä¾åãæ³è¦æ¥ç宿´å·¥ä½ç示ä¾ï¼è¯·æ¥çæä»¬ç For voice-change-o-matic æ ·ä¾ï¼ä¹å¯ä»¥æ¥ç æºç ï¼.
js
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
//set up the different audio nodes we will use for the app
var analyser = audioCtx.createAnalyser();
var distortion = audioCtx.createWaveShaper();
var gainNode = audioCtx.createGain();
var biquadFilter = audioCtx.createBiquadFilter();
var convolver = audioCtx.createConvolver();
// connect the nodes together
source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(distortion);
distortion.connect(biquadFilter);
biquadFilter.connect(convolver);
convolver.connect(gainNode);
gainNode.connect(audioCtx.destination);
// Manipulate the Biquad filter
biquadFilter.type = "lowshelf";
biquadFilter.frequency.value = 1000;
biquadFilter.gain.value = 25;
è§æ ¼
| è§è |
|---|
| Web Audio API > # dom-baseaudiocontext-createbiquadfilter > |