setInterval;歌曲中的节拍的毫秒数,等式

时间:2019-06-04 03:45:55

标签: javascript html math

我的脑海里有一个非常棘手的问题,当有人指出我做错了事时,我会打耳光,但这就是问题。我有一个简单的JavaScript计数器,默认情况下每秒计数一次。因为setInterval为100毫秒。我正在播放音频文件,但我不希望计数器显示这首歌有多少拍子。我有限的数学和JavaScript知识让我不得不向公众提问。这首歌非常快。它长27秒,其中有224拍。 setInterval应该设置为什么以计算每个节拍?抱歉,这无关紧要,但是我认为这与javascript有关。非常感谢,我真的需要帮助。 :)

2 个答案:

答案 0 :(得分:1)

不用担心。很高兴看到您的setInterval代码使这更多是一个StackOverflow问题。

因此,您知道歌曲中的节拍数。我假设这是27秒歌曲中的总拍数,而不是BPM(每分钟的拍数)。如果您有BPM,这将有所不同。

将setInterval设置为歌曲的总长度除以歌曲中节拍的总数。

27/224

最后,您需要将该数字(以毫秒为单位)输入setInterval。因此,将其乘以1000。

setInterval(function(){ console.log("beat"); }, 1000*(27/224));

答案 1 :(得分:0)

我刚刚弄清楚了。 (没有其他人会遇到这个问题。)但是它是27/224 = 0.12,所以如果转换的话是120毫秒。并在运行代码的同时播放我的歌曲,最多可以播放224个,所以,是的!