BiquadFilterNode:gain 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

BiquadFilterNode 接口的 gain 属性是一个 a-rateAudioParam,表示当前滤波算法使用的 增益,其值为 double 类型。

当其值为正时,表示实际增益;当其值为负时,表示衰减。

该值以 dB 为单位,默认值为 0,标称范围为 -4040

一个 AudioParam

注意:虽然返回的 AudioParam 是只读的,但它所代表的值并非如此。

示例

以下示例展示了使用 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.value = 1000;
biquadFilter.gain.value = 25;

规范

规范
Web Audio API
# dom-biquadfilternode-gain

浏览器兼容性

另见