加载时在特定位置启动HTML5video?

我正在尝试播放HTML5video(VP8编码)。 我想要的是在某个位置上播放它。 比方说在50秒之后

我已经尝试过,但似乎有一些问题。 你可以build议,如果有什么我做错了吗?

这里是代码:

<video id="vid1" width="640" height="360"> <source src="file.webm" type="video/webm" /> Your browser does not support the video tag. </video> <script> document.getElementById('vid1').currentTime = 50; </script> 

我已经尝试过,但不起作用。 video加载时,它只是从开始播放。 然而,如果我在播放过程中像这样称呼这个video播放,它可以正常工作。 有什么我失踪?

您必须等到浏览器知道video的持续时间后才能find特定的时间。 所以,我想你想等待“加载的元数据”事件是这样的:

 document.getElementById('vid1').addEventListener('loadedmetadata', function() { this.currentTime = 50; }, false); 

您可以直接链接到Media Fragments URI ,只需将文件名改为file.webm#t = 50即可

这是一个例子

这很酷,你可以做各种各样的事情。 但是我不知道浏览器支持的当前状态。

在html5中使用video标签时,调整video的开始和结束时间;

http://www.yoursite.com/yourfolder/yourfile.mp4#t=5,15

逗号左边是以秒开始的时间,逗号右边是以秒为单位的结束时间。 删除逗号和结束时间只影响开始时间。

无需使用JAVASCRIPT

只需在媒体url的末尾添加#t=[(start_time), (end_time)]即可。 唯一的挫折(如果你想这样看),你需要知道你的video多长时间来表示结束时间。 例:

 <video> <source src="splash.mp4#t=10,20" type="video/mp4"> </video> 

注意: IE不支持

在用于HLS源的Safari Mac上,我需要使用loadeddata事件而不是元数据事件。

使用#t=10,20片段为我工作。