0

在 WEBM 视频上使用 JavaScript 的 HTML5 中,我试图在指定的时间间隔内显示移动的形状。为了确定这些时间间隔,我使用了 setTimeout(func, 0) 方法,该方法返回视频的当前时间:

            func() {
                var time = $gVideo.attr('currentTime');
                setTimeout(func, 0);
            }

我遇到的问题是,在不同的浏览器上,读数变化很大。例如 Firefox 会返回:

            [0,10,90,130,210,220,250,340,460,590,760,960,1090,1220,1430,1550,1760,1880,2010,2060,2090,2130,2170,2220,2260,30130,30140,30200,30260,30290,30410,30580,30750,30990,31040,31160,31240,31290,31410,31500,31530,31560] – irregular increments 

铬合金:

            [10,20,30,40 …. 31560] – multiples of 10

歌剧:

            [0,10,20,30,40,50,140,230,340,430,520,710,870,1030,1220,1290,1460,1550,1720,1820,1980,1990,2170,2260,2420,2600,2760,2850,3010,3110,3290,3370,3560,3640,3800, …. 31560] – irregular increments

由于在所有浏览器中获得与 Chrome 相同的结果至关重要,请告知我的实现中的缺陷在哪里。浏览器中的视频实现返回的时间值可能会有如此大的差异,还是 JavaScript 中的计时器问题?

4

1 回答 1

0

你不应该setTimeout在这种情况下使用,请尝试处理timeupdate视频元素的事件并currentTime进入处理程序

于 2011-11-15T16:40:54.860 回答