2013-02-01 124 views
0

所以我正在开发一个交互式的HTML5视频播放器,目前在使用popcorn.js时已经可以正常工作了,但我现在正在尝试返回并使我的播放器不依赖于popcorn.js 。时间范围内的HTML5视频

当popcorn.js工作,你可以使用如下代码:

popcorn.code((
    start: 0, 
    end: 5, 
    onStart: function(options) { 
     //put code here 
    } 
}} 

,当你视频的时候到5 0跨越现在,你的代码会被执行,我想有一定的在视频的特定时间段内执行的代码块,但我似乎无法得到它的正确工作,只是想知道如果有人能看到我在哪里去了解这个错误。

while (myVideo.currentTime >= 0 && myVideo.currentTime <= 5) 
{ 
    console.log(myVideo.currentTime); 
} 

此while循环运行速度太快,导致浏览器速度变慢并冻结。 但是,如果我尝试使用if循环而不是while循环,它(显然)只会检查一次。

回答

1

您可以检查少于while循环会。

var check = setInterval(function() { 
    if (myVideo.currentTime >= 5) { 
     clearInterval(check); 
     console.log("5 seconds reached"); 
    } 
}, 500); 

你比可以在用户暂停和重新开始或者他跳到时限内其他时间重新开始这个。

+0

对不起......我们都想出了相同的答案。直到我发布我的内容才看到您的回复。 – spooky

+0

我会为视频添加一个播放检查,只有在其实际播放视频时才启用此功能,除非所有页面都播放视频,否则它不那么重要。 – nycynik

+0

感谢你们两位!我完全没有办法处理它,但setInterval是有意义的,并有助于它正常工作。 –

1

请尝试使用以下内容,以便您的函数每秒只运行一次。

setInterval(function(){ 
if(myVideo.currentTime >= 0 && myVideo.currentTime <= 5){ 
console.log(myVideo.currentTime); 
} 
},1000); 

祝你好运!