2013-10-22 57 views
0

我們已經構建了一個使用舊版YouTube API的應用程序,該應用程序使用player.getCurrentTime()輪詢播放器的當前時間。我們目前以40ms的時間間隔輪詢玩家以便以25fps的速度更新屏幕組件。 iOS上不支持此API,因此我們測試了HTML5 API。似乎我們無法使用HTML5 API頻繁輪詢玩家40毫秒。它似乎最大限度地出現在約100毫秒的輪詢時間間隔內,迫使我們的屏幕更新變得非常生澀。這是HTML5 API的一個已知限制,還是有更好的間隔輪詢玩家的方法嗎?什麼是YouTube HTML5 API回調的時間分辨率?

回答

1

你使用什麼函數進行輪詢?如果您使用的是setInterval或setTimeout,則可以看到您是否使用requestAnimationFrame獲得較少干擾的性能。

無論如何,它可能並不重要; iframe API(這是唯一提供HTML5播放的API)不具有訪問玩家當前時間的細粒度。事實上,iframe中的播放器只會執行一個postMessage來更新可通過getCurrentTime訪問的時間,大約每秒5-6次,所以更頻繁地進行輪詢而不是浪費CPU週期。 (我不確定他們爲什麼這樣做,因爲默認情況下HTML5視頻會將其當前時間更新爲每秒約50次)。

+0

感謝您的信息。我仍然試圖收集更多關於它的信息,但現在我們在輪詢間隔之間插入了我們所做的任何動畫。 –