gpt4 book ai didi

javascript - 如何检测 youtube getCurrentTime() 中的变化?

转载 作者:行者123 更新时间:2023-11-28 08:23:56 24 4
gpt4 key购买 nike

有没有办法检测YouTube API的getCurrentTime()中时间的变化?

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

我想使用 object.watch 但它只适用于变量而不是函数。

我还尝试在原始源代码中绑定(bind)一些东西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 次。

关于javascript - 如何检测 youtube getCurrentTime() 中的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com