将 DelayNode 设置为大于 1

Set DelayNode to more than 1

如何将 DelayNode.delayTime 设置为大于 1?

我已经试过了,但它会产生一条警告消息,并且只会产生一秒的最大延迟。

var delayNode = audioContext.createDelay();
delayNode.delayTime.maxValue = 3
delayNode.delayTime.minValue = 3
delayNode.delayTime.value = 3

这是警告

Delay.delayTime.value 3 outside nominal range [0, 1]; value will be clamped.

如果无法将延迟设置为大于 1,是否有任何解决方法或替代方法?

DelayNode使用内部缓冲区来存储延迟样本。创建节点时需要创建此缓冲区。它的大小决定了延迟的最大值。创建节点后无法更改缓冲区。默认情况下,它最多只能容纳 1 秒的音频。但是您可以将其设置为您想要的最高值。将其设置为 3 秒将如下所示。

audioContext.createDelay(3);
// or
new DelayNode(audioContext, { maxDelayTime: 3 });