From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/convolvernode/index.html | 123 +++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 files/zh-cn/web/api/convolvernode/index.html (limited to 'files/zh-cn/web/api/convolvernode') diff --git a/files/zh-cn/web/api/convolvernode/index.html b/files/zh-cn/web/api/convolvernode/index.html new file mode 100644 index 0000000000..de43ddc6b3 --- /dev/null +++ b/files/zh-cn/web/api/convolvernode/index.html @@ -0,0 +1,123 @@ +--- +title: ConvolverNode +slug: Web/API/ConvolverNode +tags: + - 音效 + - 音频 +translation_of: Web/API/ConvolverNode +--- +

{{APIRef("Web Audio API")}}

+ +

ConvolverNode 接口是一个对给定 {{domxref("AudioBuffer")}} 上执行线性卷积的 {{domxref("AudioNode")}},一般用来做音频混响效果。每一个 ConvolverNode 都会有一个输入值和输出值。

+ +
+

注意: 更多线性卷积理论的相关信息,请参阅Convolution article on Wikipedia.

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Number of inputs1
Number of outputs1
Channel count mode"clamped-max"
Channel count1, 2, or 4
Channel interpretation"speakers"
+ +

构造函数

+ +
+
{{domxref("ConvolverNode.ConvolverNode()", "ConvolverNode()")}}
+
创建一个新的 ConvolverNode 对象实例。
+
+ +

属性

+ +

继承其父级的属性, {{domxref("AudioNode")}}.

+ +
+
{{domxref("ConvolverNode.buffer")}}
+
一个被 ConvolverNode 用来产生混响效果的单声道、立体声或四声道的音频缓冲器,包含了(可能是多声道)脉冲反应(IR)。
+
{{domxref("ConvolverNode.normalize")}}
+
布尔值,在设置缓冲区属性时,可绝定是否对来自 buffer 的脉冲反应按等功率归一化进行缩放。
+
+ +

方法

+ +

没有具体的方法,从其父继承方法,{{domxref("AudioNode")}}.

+ +

ConvolverNode 例子

+ +

下面的示例展示了 AudioContext 创建卷积节点的基础用法。

+ +
+

注意: 你需要找到一个脉冲反应来完成下面的示例。可查看 此处 的实例.

+
+ +
let audioCtx = new window.AudioContext();
+
+async function createReverb() {
+    let convolver = audioCtx.createConvolver();
+
+    // 从文件加载脉冲反应
+    let response     = await fetch("path/to/impulse-response.wav");
+    let arraybuffer  = await response.arrayBuffer();
+    convolver.buffer = await audioCtx.decodeAudioData(arraybuffer);
+
+    return convolver;
+}
+
+...
+
+let reverb = await createReverb();
+
+// someOtherAudioNode -> reverb -> destination
+someOtherAudioNode.connect(reverb);
+reverb.connect(audioCtx.destination);
+
+ +

规范

+ + + + + + + + + + + + + + +
规范状态注释
{{SpecName('Web Audio API', '#ConvolverNode', 'ConvolverNode')}}{{Spec2('Web Audio API')}}
+ +

浏览器兼容性

+ +
+ + +

{{Compat("api.ConvolverNode")}}

+
+ +

相关链接

+ + -- cgit v1.2.3-54-g00ecf