我如何线性渐变到 Web Audio API 的声像节点的位置?

How do I linear ramp to a position with the Web Audio API's pannernode?

我可以使用 Web Audio API 的 AudioParam 接口的 linearRampToValueAtTime() 方法来安排参数的逐渐线性变化。比如为了收益,

var gainNode = audioContext.createGain();
gainNode.gain.linearRampToValueAtTime(1.0, audioContext.currentTime + 2);

我想线性倾斜 PannerNode 的位置。 Panner 有一个 setPosition 方法,但我没有看到关联的 AudioParam:

var pannerNode = audioContext.createPanner();
pannerNode.setPosition(xPosition, yPosition, zPosition);

我可以线性倾斜平移器节点的位置吗?我知道我可以手动创建一个计时器,并随着时间的推移直接调用 setPosition,但是 Web Audio API 可以为我处理吗?

你不能。这是 AudioPanner 初始设计的众多错误之一,也是它被重构为两个不同节点的原因。 https://github.com/WebAudio/web-audio-api/issues/372.

目前,您必须通过 setInterval 或类似方法设置动画。