具有开始时间的HTML5视频播放器在Internet Explorer上不起作用

时间:2014-11-01 18:23:18

标签: html internet-explorer html5-video internet-explorer-10 mp4

我有下面的代码,视频从第二个483开始。除了IE10之外,它适用于大多数浏览器,它从0:00开始。

<video controls preload="metadata">
<source src="http://example.com/myvideo.mp4#t=483" type="video/mp4">
</video>

3 个答案:

答案 0 :(得分:4)

根据这个问题

Setting HTML5 audio position

  

为了支持寻求和回放媒体的区域   还没有下载,Gecko使用HTTP 1.1字节范围请求   从搜索目标位置检索媒体。另外,如果你   不提供X-Content-Duration标头,Gecko使用字节范围请求   寻求媒体的终结(假设您提供内容长度   标题)以确定媒体的持续时间。

你可以使用jQuery

$('video').bind('canplay', function() {
  this.currentTime = 483;
});

答案 1 :(得分:1)

HTML5视频元素可让您开始在网页上使用视频元素。通过添加JavaScript,您可以以编程方式创建自定义播放控件,获取和设置当前播放位置,以及更改当前视频。您也可以申请执行时间。

您的HTML更改:

<video controls preload="metadata" id="Video1">
<source src="http://example.com/myvideo.mp4" type="video/mp4">
</video>

JS代码:

 var video = document.getElementById("Video1"); 
 if (video.canPlayType) {   // tests that we have HTML5 video support
   video.addEventListener("canplay", function(){
                setTime(483);   //specified time
   }, false);
 }

setTime函数:

function setTime(tValue) {
            //  if no video is loaded, this throws an exception 
                try {
                    if (tValue == 0) {
                        video.currentTime = tValue;
                    }
                    else {
                        video.currentTime += tValue;
                    }

                 } catch (err) {
                     // errMessage(err) // show exception
                 console.log("Video content might not be loaded");
                   }
         }

您可以在Using JavaScript to control the HTML5 video player

了解更多详情

答案 2 :(得分:1)

'#t'语法是W3C的媒体片段URI规范的一部分,可以找到here.根据this文章,IE不支持这一点,尽管其他主流浏览器也是如此。因此,您必须使用Javascript控制播放,直到IE提供对此规范的支持。

有趣的是,我能够找到IE用户对微软IE反馈门户关于此问题的反馈。让我分享一下here.