非常频繁地播放(短)声音?

Play a (short) sound extremely frequently?

我想使用 setInterval 创建一个节拍器。我希望能够达到 300 bpm 这样的高 bpm。即使文件足够短,可以根据需要播放多次,它也很容易非常 打嗝。此外,许多浏览器都存在短音频文件的问题——Safari 用于 MP3 和 Firefox 用于 WAV。 我尝试使用多个文件,如下所示,但无济于事。

    metronome = setInterval(function () {
        if (!tick.played) {
            tick.play();
        } else {
            tick2.play();
        }
    }, 200); // = 300 bmp
  1. 如何频繁播放一个简短的音频文件?
  2. 最好的文件扩展名是什么?

使用 Web Audio API 进行精确计时,JavaScript 的 setTimeout 最多可以有 10 毫秒的偏移量。有一个使用 audioContext.currentTime at it's core. See this article for details on audio scheduling. See this Plunker 的节拍器演示用于 Web 音频节拍器演示。