我们使用旧的 YouTube flash API 构建了一个应用程序,该 API 使用 player.getCurrentTime() 轮询播放器的当前时间。我们目前以 40 毫秒的间隔轮询播放器,以便以 25 fps 的速度更新屏幕组件。iOS 不支持此 API,因此我们测试了 HTML5 API。似乎我们无法使用 HTML5 API 像 40 毫秒那样频繁地轮询播放器。它似乎以大约 100 毫秒的轮询间隔达到最大值,这迫使我们的屏幕更新非常不稳定。这是 HTML5 API 的已知限制,还是有办法以更精细的间隔轮询播放器?
问问题
162 次
1 回答
1
您使用什么功能进行投票?如果您使用 setInterval 或 setTimeout,您可以查看是否使用 requestAnimationFrame 获得更少的生涩性能。
无论如何,这可能无关紧要。iframe API(它是唯一提供 HTML5 播放的 API)没有对播放器当前时间的精细访问。事实上,iframe 中的播放器只执行一个 postMessage 来更新通过 getCurrentTime 访问的时间大约每秒 5-6 次,因此比这更频繁的轮询只会浪费 CPU 周期。(我不确定他们为什么这样做,因为 HTML5 视频默认更新其当前时间大约每秒 50 次)。
于 2013-11-14T08:15:47.050 回答