1

特定の時間にhtml5ビデオを一時停止するエレガントな方法はありますか?

私は2つの方法を試しました:

  1. timeupdateイベントを使用して、currentTimeプロパティが目的の時間よりも大きいかどうかを確認し、pause()を呼び出します。これはFirefoxでうまく機能します。他のブラウザは、ビデオが実際に一時停止する前に遅れて追加のフレームをレンダリングすることがあります。
  2. TimedTracksと、PauseOnExitフラグをtrueに設定したキューを使用します。残念ながら、TimedTracksを実装しているブラウザはありません...

他にアイデアはありますか?

乾杯、ステファン

4

3 に答える 3

3

timeupdate イベントを使用して currentTime を確認し、停止時間を過ぎたら一時停止できます。timeupdate イベントの解像度は最大 250 ミリ秒になる可能性があり、これはあまり良くありません。

そのため、代わりに、より高いレート (50 ミリ秒ごとなど) で setInterval を使用して currentTime をポーリングし、停止時間を過ぎたときにビデオを一時停止することもできます。その方がおそらく信頼性は高くなりますが、ブラウザの負荷が高くなります。

ビデオ要素のコールバック インターフェイスはまだ開発中であり、最終的にはこの問題が解決される予定です。

于 2010-05-28T12:26:29.560 に答える
1

シルビアが提案した2つのソリューションを組み合わせることができます。timeupdateイベントを使用して、目的の時間から1秒以内にいる時間を見つける場合は、その時点でsetIntervalソリューションを使用できます。これにより、SetIntervalソリューションの精度が向上しますが、ブラウザーの負荷は1秒間だけ高くなります。

于 2011-03-26T00:48:11.940 に答える
1

ビデオを特定のポイントまで再生してから一時停止したいようです。これは、現在の API では不可能です。ただし、timeupdate イベントを使用して目的の時刻の直前で一時停止し、currentTime を目的の時刻に設定することができます。シークは一時停止時にも機能するはずなので、毎回同じフレームで一時停止する必要があります (モジュール ブラウザーのバグ)。

于 2010-05-28T07:50:20.173 に答える