我有两个 setInterval 实例。每个都在重复的时间间隔触发不同的函数(这两个函数是 title quarterNoteFunc和FourthNoteFunc)。QuarterNoteFunc的间隔是 600 毫秒。FourthNoteFunc的间隔为300 毫秒。这两个功能都以重复间隔触发不同的音频文件,从而创建基本的音乐节奏。两个函数调用之间的节奏最终在谷歌浏览器中“漂移”,使两个声音之间的节奏消失。我的问题是:
似乎即使基于浏览器的计时是垃圾,它们也应该是一种创建某种“硬”计时参考的方法,这样即使“全局”计时得到偏移,声音也会被锁定,从而保持声音同步。我认为分配相同的变量毫秒(下面的代码)会抑制这一点 - 但我错了。
(缩写)代码如下所示
毫秒 = 600;
QuarterNote = setInterval(QuarterNoteFunc, 毫秒);
第八注 = 设置间隔(第八注函数,毫秒/2);