Javascript 能否同步/绑定一个振荡器节点';你和另一个人的频率是多少?
因此,我使用Web Audio API创建了两个: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
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
的任何内容中。