gpt4 book ai didi

javascript - Youtube Js Api -eekTo(time) 需要很长时间才能更新player.getCurrentTime()

转载 作者:行者123 更新时间:2023-12-02 22:54:54 24 4
gpt4 key购买 nike

通过 YouTube JavaScript API 查找时间时,player.getCurrentTime() 需要一些时间才能返回正确的时间。相反,它会在一段时间内返回旧时间。

<小时/>

示例:

->当前视频时长:10s

-> player.getCurrentTime() -> 返回 10s(正确)

-> player.seekTo(2s)

-> player.getCurrentTime() -> 返回 10 秒而不是 2 秒(不正确)

-> 等待 2 秒...

-> player.getCurrentTime() -> 返回 12s(正确)

<小时/>

如何解决?

最佳答案

我也遇到同样的问题。我不确定如何修复它,确切地说,但我正在通过使用类似的东西来解决这个问题

  intervalId = setInterval( () => {
var ytTime = ytplayer.getCurrentTime()
[... do stuff here...]
}, 500)

...这不是最佳选择,尽管它可以满足我需要它做的事情。

我已在跟踪“Youtube API 服务”问题的 Google 问题跟踪器上提出了一个问题,此处: https://issuetracker.google.com/issues/142517061

但如果我不得不猜测,这将被标记为“按设计工作”。对seekTo的调用需要做一些工作来执行查找,并且该工作可能是异步的,因此当我们在该工作完成之前调用getCurrentTime时,我们将得到一个似乎无效的时间,但实际上任务还没有完成。

请注意,在调用seekTo 后,如果您执行了类似的操作

setTimeout( () => { console.log(ytplayer.getCurrentTime()) }, 2000 )

那么您可能会看到正确的时间。

关于javascript - Youtube Js Api -eekTo(time) 需要很长时间才能更新player.getCurrentTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58032864/

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