2013-07-02 140 views
1

我是JavaScript的初学者。我想在特定的时间在HTML5中播放特定时间的mp4文件。首先,我想加载缩略图。如果点击,我想从特定时间播放视频文件。这是我的代码。但它不起作用。我做错了什么?点击缩略图时播放视频

function PlayVideo(aid, vid) { 
    var video = document.getElementById(vid); 
    video.addEventListener('loadedmetadata', function() { 
     videoStartTime = 6; 
     videoEndTime = 7; 
     this.currentTime = videoStartTime; 
    }, false); 

    video.addEventListener('timeupdate', function() { 
     if (this.currentTime > videoEndTime) { 
      this.pause(); 
      this.currentTime = 6; 
     } 
    }); 

    document.getElementById(aid).style.display = "none"; 
} 

而在HTML文件的主体:

<a id = "anchor" onclick = "PlayVideo('anchor','vid');"> 
    <img src = "test.jpg" alt = "trail" /> 
</a> 
<video id = "vid" controls width = "320"> 
    <source src = "test.mp4" type = "video/mp4"/> 
</video> 
+1

代码的哪部分失败?缩略图加载?它播放,但不是正确的时间?请详细说明。 – drarkayl

+0

thumnail成功借用。但是当我点击它时,视频播放器被加载,但它不会自动启动。当我玩它时,它不会从6秒开始。它只是从一开始就开始。 – user1610952

回答

2

我不能见你开始随时随地视频:

function PlayVideo(aid, vid) { 

    var video = document.getElementById(vid); 
    video.play(); // <- start play 

    //... 
} 

您还可以收听全球的canplay事件知道何时可以开始视频。

+0

谢谢。但它仍然从头开始,而不是从6 – user1610952

+0

@ user1610952开始,它在播放()后立即设置当前时间(检查它是否不相等6)。 – K3N

+0

嗯......你的意思是这样吗?:var video = document.getElementById(vid); video.play(); this.currentTime = 6; – user1610952