如何同步 HTML5 视频?

Posted

技术标签:

【中文标题】如何同步 HTML5 视频?【英文标题】:How to get HTML5 videos in sync? 【发布时间】:2015-12-02 23:36:13 【问题描述】:

您会说video1.play(); 后跟video2.play(); 会同时播放视频,但它们会有微笑延迟。如何消除这种延迟并使它们保持同步?

【问题讨论】:

【参考方案1】:

首先检查两个视频的readyState 是否大于 3,这样做:

为两个视频注册 canplay 事件处理程序 注册两个处理程序后检查就绪状态(以防canplay 在注册事件处理程序之前已为视频触发) 只有在两个都准备好后才开始播放视频

由于网络问题,两个视频仍然可能不同步,如果它们相距太远,您可以使用requestAnimationFrame 轮询视频的currentTime 属性并同步它们(通过设置currentTime) .

【讨论】:

以上是关于如何同步 HTML5 视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何制作html5音频播放器同步歌词

如何保持实时 MediaSource 视频流同步?

如何为 HTML5 视频设置音频延迟(不同步)

HTML5音频播放,歌词同步,及视频播放功能(JPlayerJWPlayerVideoJS)

HTML5中如何显示视频HTML5视频播放

Html5视频播放器-VideoJS+Audio标签实现视频,音频及字幕同步播放