ConstantSourceNode
ConstantSourceNode 接口(Web Audio API 的一部分)代表一个音频源(基于 AudioScheduledSourceNode),其输出是一个单一不变的值。这使得它在需要从音频源引入恒定值的情况下非常有用。此外,它还可以用作可构造的 AudioParam,通过自动化其 offset 的值或将其连接到另一个节点;请参阅 使用 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 Audio API # ConstantSourceNode |
浏览器兼容性
加载中…