【问题标题】:How do I linear ramp to a position with the Web Audio API's pannernode?如何使用 Web Audio API 的 pannernode 线性渐变到某个位置?
【发布时间】:2015-01-17 22:47:06
【问题描述】:

我可以使用 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 可以为我处理吗?

【问题讨论】:

    标签: web-audio-api


    【解决方案1】:

    你不能。这是最初的 AudioPanner 设计的许多问题之一,以及为什么它被重构为两个不同的节点。 https://github.com/WebAudio/web-audio-api/issues/372.

    目前,您必须通过 setInterval 或类似方法对其进行动画处理。

    【讨论】:

    • 您今天可以在 Firefox Nightly 中试用 StereoPannerNode(可能还有开发版,不确定它是否发布),也许让我们知道您的想法?
    • 太棒了!实际上 StereoPanner 现在也在 Chrome Canary 中。
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 2019-06-30
    • 2016-01-20
    • 2022-01-10
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 2017-12-08
    相关资源
    最近更新 更多