BaseAudioContext:createBiquadFilter() 方法

Baseline 已广泛支持

此特性已得到良好支持,可在多种设备和浏览器版本上使用。自 2021 年 4 月起,所有浏览器均已支持此特性。

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

注意: BiquadFilterNode() 构造函数是创建 BiquadFilterNode 的推荐方法;请参阅 创建 AudioNode

语法

js
createBiquadFilter()

参数

无。

返回值

一个 BiquadFilterNode

示例

以下示例展示了使用 AudioContext 创建 Biquad 滤波器节点的基​​本用法。有关更完整和实际的应用示例/信息,请查看我们的 Voice-change-O-matic 演示(相关代码请参见 app.js 的 108-193 行)。

js
const audioCtx = new AudioContext();

// Set up the different audio nodes we will use for the app
const analyser = audioCtx.createAnalyser();
const distortion = audioCtx.createWaveShaper();
const gainNode = audioCtx.createGain();
const biquadFilter = audioCtx.createBiquadFilter();
const 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.setValueAtTime(1000, audioCtx.currentTime);
biquadFilter.gain.setValueAtTime(25, audioCtx.currentTime);

规范

规范
Web Audio API
# dom-baseaudiocontext-createbiquadfilter

浏览器兼容性

另见