如何检测youtube的变化getCurrentTime()



是否有任何方法可以检测YouTube API的getCurrentTime()中时间的变化?

目的:在我的页面中播放有限时间(<1分钟)的单个视频,然后转到下一个视频。

我想用对象。注意,它只对变量有效,对函数无效。

我也尝试在原始源代码中绑定一些东西https://s.ytimg.com/yts/jsbin/www-widgetapi-vfl9twtxR.js,但它太复杂了。

因为YouTube播放器被包装在iFrame中,你依赖于播放器暴露的内容,虽然它们通过getCurrentTime()函数暴露了当前时间,但它们没有暴露任何事件,无论何时时间可能被更新(事实上,时间只更新到暴露的函数每秒6或7次,它并不总是一致的)。

所以你唯一的选择是设置一个javascript计时器。有很多方法可以做到;一个简单的例子是这样的:

setInterval(function(){
   // here you'd raise some sort of event based on the value of getCurrentTime();
   },100); // polling 8 times a second, to make sure you get it every time it changes. 

由于来自iFrame的postMessage并不总是完全一致,您可以将这个间隔计时器设置得更大一些。或者你可以使用像requestAnimationFrame这样的东西每秒轮询60次

https://developers.google.com/youtube/iframe_api_reference Getting_Started

几乎完全为您提供了开始所需的内容。一旦视频开始,代码就会启动计时器,然后等待6秒停止视频。你想要做的不是在6秒后停止视频,而是发射一个新的YT。

相关内容

  • 没有找到相关文章

最新更新