此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

BaseAudioContext:createBiquadFilter() 方法

基线
广泛可用

自 2021年4月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

BaseAudioContext 接口的 createBiquadFilter() 方法创建一个 BiquadFilterNode,表示可配置为多种常见滤波器类型的二阶滤波器。

备注:BiquadFilterNode() 构造函数是创建 BiquadFilterNode 的推荐方式;请参见创建一个音频节点。

语法

js
createBiquadFilter()

参数

无。

返回值

一个 BiquadFilterNode。

示例

下面的示例展示了如何使用 AudioContext 创建 Biquad 滤波器节点。如需更完整的应用示例或信息,请查看我们的变声器演示(相关代码见 app.js 第 108–193 行)。

js
const audioCtx = new AudioContext();

// 设置应用中会用到的各个音频节点
const analyser = audioCtx.createAnalyser();
const distortion = audioCtx.createWaveShaper();
const gainNode = audioCtx.createGain();
const biquadFilter = audioCtx.createBiquadFilter();
const convolver = audioCtx.createConvolver();

// 将节点连接在一起

source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(distortion);
distortion.connect(biquadFilter);
biquadFilter.connect(convolver);
convolver.connect(gainNode);
gainNode.connect(audioCtx.destination);

// 操控 Biquad 滤波器

biquadFilter.type = "lowshelf";
biquadFilter.frequency.setValueAtTime(1000, audioCtx.currentTime);
biquadFilter.gain.setValueAtTime(25, audioCtx.currentTime);

规范

规范
Web Audio API
# dom-baseaudiocontext-createbiquadfilter

浏览器兼容性

参见