28

我正在使用 timesheets.js 并希望在滑块处于活动状态时播放 HTML5 视频。我正在使用这段代码:

if (document.getElementById("v_"+element.id))
{
video = document.getElementById('v_'+element.id)
video.currentTime = 0;
video.play();
}

如果我没有使用“video.currentTime = 0; 它在大多数情况下都可以工作(除非视频太长)。我必须重置视频以便从头开始播放。现在它会重置视频,但它没有不玩。有什么想法吗?

4

2 回答 2

48

虽然 Stichy 对他自己的问题发布了足够的答案,但该方法video.load()会导致使用不必要的带宽,因为它会从服务器重新加载视频。

特别是加载视频可能会给服务器带来沉重的负担。考虑一下每次重播视频时您可能会加载许多兆字节。

用户还需要等待视频重新下载的一小段时间。

我发现最有效和最流畅的解决方案是在更改currenttime属性之前简单地暂停视频。

像这样:

video.pause();
video.currentTime = 0;
video.play();
于 2016-06-04T16:44:06.513 回答
40

这解决了它!我将其更改video.currentTime = 0;为:

video.load();
于 2013-05-20T09:56:02.430 回答