ConstantSourceNode:offset 属性

基线 广泛可用

此功能已建立并可在许多设备和浏览器版本中使用。它自 2021 年 4 月.

报告反馈

ConstantSourceNode 接口的只读 offset 属性返回一个 AudioParam 对象,该对象指示始终由源返回的数字 a-rate 值,以便获取下一个样本。

注意: 虽然名为 offsetAudioParam 是只读的,但其中的 value 属性不是。因此,可以通过设置 ConstantSourceNode.offset.value 的值来更改 offset 的值。
myConstantSourceNode.offset.value = newValue;

js

一个 AudioParam 对象,指示此节点为每个样本返回的 a-rate 值。默认值为 1.0。

示例

要访问 offset 参数的当前值,请访问参数的 value 属性,如上面的语法框所示。

注意: 虽然名为 offsetAudioParam 是只读的,但其中的 value 属性不是。因此,可以通过设置 ConstantSourceNode.offset.value 的值来更改 offset 的值。
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;

volumeSliderControl.value = gainNode2.gain.value;

constantSource = context.createConstantSource();
constantSource.connect(gainNode2.gain);
constantSource.connect(gainNode3.gain);

此示例演示了如何设置 ConstantSourceNode,使其 offset 用作一对 GainNode 的输入;此代码片段来自您可以在 使用 ConstantSourceNode 控制多个参数 中找到的完整示例。

首先,创建并配置增益节点,并将滑块控件的值设置为与两个节点的增益匹配。然后,我们创建一个新的 ConstantSourceNode,并使其成为两个增益节点的 GainNode.gain 值的源。这些值中的每一个也都是一个 AudioParam

注意: 虽然名为 offsetAudioParam 是只读的,但其中的 value 属性不是。因此,可以通过设置 ConstantSourceNode.offset.value 的值来更改 offset 的值。
function handleClickEvent(event) {
  constantSource.offset.value = volumeSliderControl.value;
}

假设我们有一个事件处理程序(在本例中为 click 事件),它需要通过更改两个增益节点的值来做出响应。有了上面的链接,可以使用此简单的事件处理程序来完成此操作

规范

此函数只需获取我们用于控制成对节点增益的滑块控件的当前值,然后将该值存储到 ConstantSourceNodeoffset 参数中。这是通过更改其 AudioParam.value 属性的内容来完成的。两个增益节点会迅速采用新的音量级别。
Web 音频 API
# 规范

浏览器兼容性

dom-constantsourcenode-offset

另请参阅