2011-11-15 17 views
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 

オペラ:それはChromeのように同じ結果を得るために、すべてのブラウザで重要ですので

  [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 

を、アドバイスしてください私の実装の欠陥はどこにありますか?ブラウザのビデオ実装から返される時間値に大きな違いがありますか、それともJavaScriptのタイマーの問題ですか?

答えて

0

、video要素のtimeupdateイベントを処理しようとすると、ハンドラ内currentTimeを入手してくださいあなたは、この場合にsetTimeoutを使用しないでください