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

时间:2016-03-09 22:18:06

标签: javascript audio html5-audio

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

    metronome = setInterval(function () {
        if (!tick.played) {
            tick.play();
        } else {
            tick2.play();
        }
    }, 200); // = 300 bmp
  1. 如何经常播放短音频文件?
  2. 这样做的最佳文件扩展名是什么?

1 个答案:

答案 0 :(得分:2)

使用Web Audio API进行精确计时,JavaScript的setTimeout最多可以有10毫秒的偏移量。在它的核心使用audioContext.currentTime的节拍器演示。有关音频调度的详细信息,请参阅此article。有关Web Audio Metronome演示,请参阅此Plunker