Javascript Web音频API AudioParam.value未记录

Javascript Web音频API AudioParam.value未记录,javascript,audio,web-audio-api,Javascript,Audio,Web Audio Api,我想知道如何读取AudioParam的当前值。当AudioNode通过AudioNode.connect(AudioParam)修改AudioParam时,它似乎不会影响AudioParam.value 以下是一个例子: 我有一个振荡器(源)连接到增益节点(增益)。我有另一个振荡器(mod)路由到增益节点(modAmp)。然后将ModAmp连接到gain.gain。我还有一个用于gain.gain的仪表,将文本框更改为显示gain.gain.value当我们播放振荡器时,可以听到增益上下移动的声

我想知道如何读取AudioParam的当前值。当AudioNode通过AudioNode.connect(AudioParam)修改AudioParam时,它似乎不会影响AudioParam.value

以下是一个例子: 我有一个振荡器(源)连接到增益节点(增益)。我有另一个振荡器(mod)路由到增益节点(modAmp)。然后将ModAmp连接到gain.gain。我还有一个用于gain.gain的仪表,将文本框更改为显示gain.gain.value当我们播放振荡器时,可以听到增益上下移动的声音,但仪表保持不变到原始设置。如何获得AudioParam的实时读数

(请注意,每次运行振荡器时都必须运行脚本)


你不能,真的。唯一的方法是将其连接到脚本处理器节点或分析器节点,并查看输出位。后者(使用getFloatTimeDomainData)可能就是我应该做的。

感谢您的回复-我现在使用getFloatTimeDomainData。我试图从概念上理解这个问题,“实际”值在哪里变化以影响声音?任何澄清都将不胜感激。您无法实时读取该值;你必须将一个恒定的信号导入增益节点来检查它。
//create audio context
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new window.AudioContext();

//create source and gain, connect them
var source = context.createOscillator();
var gain = context.createGain();
source.connect(gain);

//create modulator and gain for it and connect them
var mod = context.createOscillator();
var modAmp = context.createGain(); 
mod.connect(modAmp);

//connect modulator gain node to audio param 
modAmp.connect(gain.gain);

//connect to audio context
gain.connect(context.destination);

//source values
source.frequency.value = 220;
gain.gain.value = 0.5;

//mod values
mod.frequency.value = 6;
modAmp.gain.value = 0.5;

source.start(0);
mod.start(0);

setInterval(function() {
      console.log(gain.gain.value);
    },
    600
);