我一直在寻找一个解决方案,但我还没有找到它.我们的应用需要使用player.getCurrentTime()
驱动某些屏幕动画来轮询YouTube视频对象.使用Flash API这很棒,因为我们可以40ms
间隔(25 FPS)轮询播放器并获得非常准确的当前播放器时间值.我们现在已经开始使用iFrame API,遗憾的是它不允许任何接近该准确度的任何内容.我做了一些研究,似乎因为它是一个iFrame,a postMessage
用于将玩家状态暴露给player.getCurrentTime()
呼叫.不幸的是,这个帖子消息事件很少被触发 - 有时低至每秒4次.更糟糕的是,消息触发的实际速率似乎取决于浏览器的渲染引擎.
有人知道是否有可能强制渲染引擎更频繁地触发这些消息,以便可以实现更长的时间分辨率来轮询播放器?我试过requestAnimationFrame
,它没有解决问题.有没有人成功地让iFrame播放器更频繁地报告更准确的时间?