有没有办法在视频到达特定时间时引发事件?我想在视频到达某个时间时获取回调函数,并且视频到达该时间所需的时间是不可预测的,因为用户可以跳过部分视频,或者缓冲可能需要在视频恢复之前的某个时间,或者类似的东西,所以简单地设置一个定时事件是行不通的,因为视频可能会提前到达特定时间。
我可以查询视频的时间,但我想要的是当视频到达某个时间时得到回调。有没有办法做到这一点?
有没有办法在视频到达特定时间时引发事件?我想在视频到达某个时间时获取回调函数,并且视频到达该时间所需的时间是不可预测的,因为用户可以跳过部分视频,或者缓冲可能需要在视频恢复之前的某个时间,或者类似的东西,所以简单地设置一个定时事件是行不通的,因为视频可能会提前到达特定时间。
我可以查询视频的时间,但我想要的是当视频到达某个时间时得到回调。有没有办法做到这一点?
我不打算写完整的代码,但你应该设置一个间隔,像这样:
var time = 70; // Time in seconds, e.g. this one is one minute and 10 seconds
var reached = false;
var interval = setInterval(function(){
if(player.getCurrentTime() >= time && !reached) {
clearInterval(interval);
reached = true;
timeReached();
}
},1000);
function timeReached() {
// Do what you have to
}
您可以将此Javascript 包装器用于 YouTube 播放器 API。
API 提供了非常简单的事件处理。例如:
youtubePlayer.at('5000', function() {
alert("You're five seconds into this Youtube clip");
});
使用player.getCurrentTime()
!
https://developers.google.com/youtube/iframe_api_reference#Playback_status