Javascript 能否同步/绑定一个振荡器节点';你和另一个人的频率是多少?

Javascript 能否同步/绑定一个振荡器节点';你和另一个人的频率是多少?,javascript,audio,web-audio-api,Javascript,Audio,Web Audio Api,因此,我使用Web Audio API创建了两个: let audioCtx=new(window.AudioContext | | window.webkitadiocontext)(); 设o1=audioCtx.create振荡器(); o1.type=“锯齿”; o1.frequency.value=220; o1.连接(audioCtx.目的地); o1.start(); 设o2=audioCtx.create振荡器(); o2.type=“方形”; o2.frequency.val

因此,我使用Web Audio API创建了两个:

let audioCtx=new(window.AudioContext | | window.webkitadiocontext)();
设o1=audioCtx.create振荡器();
o1.type=“锯齿”;
o1.frequency.value=220;
o1.连接(audioCtx.目的地);
o1.start();
设o2=audioCtx.create振荡器();
o2.type=“方形”;
o2.frequency.value=o1.frequency.value;
o2.连接(audioCtx.目的地);
o2.start();

o1.频率设置值时间(392,audioCtx.currentTime+3)不太清楚为什么你想要两个频率完全相同的振荡器,但有一种方法可以实现:

let s = new ConstantSourceNode(audioCtx, {offset: 220});
s.connect(o1.frequency);
s.connect(o2.frequency);
s.start();
...
s.offset.setValueAtTime(392, audioCtx.currentTime + 3);
因此,
s
控制两个振荡器的频率


而且没有
onfrequencychange
事件。如果您可以自动调整频率,使其改变每个采样帧,就像使用
线性随机值时间
或其他自动操作时所发生的情况一样,这将如何工作?

谢谢!玩了这个之后,我发现每个振荡器的初始频率也应该设置为零,因为
ConstantSourceNode
增加了频率,它并不能简单地替换它。是的,很抱歉。我总是忘记将
值添加到连接到
AudioParam
的任何内容中。