ConstantSourceNode
ConstantSourceNode
接口(Web 音频 API 的一部分)表示一个音频源(基于 AudioScheduledSourceNode
),其输出是单个不变的值。这使其在需要从音频源输入恒定值的情况下非常有用。此外,它可以通过自动其 offset
的值或将其连接到另一个节点来用作可构造的 AudioParam
;请参阅 使用 ConstantSourceNode 控制多个参数。
ConstantSourceNode
没有输入,只有一个单声道(单通道)输出。输出的值始终与 offset
参数的值相同。
输入数量 | 0 |
---|---|
输出数量 | 1 |
构造函数
ConstantSourceNode()
-
创建并返回一个新的
ConstantSourceNode
实例,可以选择指定一个对象,该对象为对象的属性建立初始值。或者,您可以使用BaseAudioContext.createConstantSource()
工厂方法;请参阅 创建 AudioNode。
实例属性
继承其父接口 AudioScheduledSourceNode
的属性,并添加以下属性
offset
-
一个
AudioParam
,它指定此源连续输出的值。默认值为 1.0。
事件
继承其父接口 AudioScheduledSourceNode
的事件。
注意:某些浏览器的这些事件实现是 AudioScheduledSourceNode
接口的一部分。
ended
-
每当
ConstantSourceNode
数据停止播放时触发。
实例方法
继承其父接口 AudioScheduledSourceNode
的方法。
注意:某些浏览器的这些方法实现是 AudioScheduledSourceNode
接口的一部分。
示例
在文章 使用 ConstantSourceNode 控制多个参数 中,创建了一个 ConstantSourceNode
以允许一个滑块控件更改两个 GainNode
的增益。这三个节点的设置如下
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;
volumeSliderControl.value = gainNode2.gain.value;
constantNode = context.createConstantSource();
constantNode.connect(gainNode2.gain);
constantNode.connect(gainNode3.gain);
constantNode.start();
gainNode2.connect(context.destination);
gainNode3.connect(context.destination);
此代码首先创建增益节点,并将它们以及将调整其值的音量控件都设置为 0.5。然后通过调用 AudioContext.createConstantSource()
创建 ConstantSourceNode
,并将两个增益节点的增益参数连接到 ConstantSourceNode
。在通过调用其 start()
方法启动恒定源后。最后,将两个增益节点连接到音频输出端(通常是扬声器或耳机)。
现在,每当 constantNode.offset
的值发生变化时,gainNode2
和 gainNode3
的增益也将更改为具有相同的值。
要查看此示例的实际效果,以及阅读从中派生这些代码片段的其余代码,请参阅 使用 ConstantSourceNode 控制多个参数。
规范
规范 |
---|
Web 音频 API # ConstantSourceNode |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。