2013-05-10 65 views
1

我试图同时播放多个音频文件,并保持它们全部同步。但是,如果我通过暂停和设置当前时间寻找歌曲,音频就会失去同步。 currentTime属性都是相同的,但声音显然不同步。用seek同步多个HTML5音轨

我也试过在所有轨道上使用MediaController,这也没有奏效。

任何人都知道如何在寻找后保持多个轨道同步?

回答

2

如果您尝试使用元素进行同步,那么您将永远无法使其同步。 API只是没有设计来处理精确的时间。精确同步音频缓冲区的最佳方法是使用Web Audio API(https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html);然后您可以同时精确调度多个音频缓冲区上的start()调用,并且它们将被一步锁定。

依靠流式传输和期待同步是失望的秘诀。 :)

+0

我也研究过这个,但最大的缺点是播放改变与Web Audio API的变化,而与JS Audio()元素无关。此外,寻求和暂停成为屁股真正的痛苦。我想我可以切换回来,如果它导致更好的同步,但我确实需要playbackRate工作。有两种方法可以兼得吗? – nighthawk454 2013-05-11 18:34:34