10

HTML5ビデオタグのドキュメントを読んでいますが、完全には理解していません。ユーザーが再生ボタンまたはコントロールバーの再生矢印をクリックした場合、イベントは1つだけであり、そのイベントはビデオが再生中であることを示していると思います。

しかし、私は次のように読みました。「再生」は、オーディオ/ビデオが開始されたとき、または一時停止されなくなったときに発生します。「再生」は、バッファリングのために一時停止または停止した後、オーディオ/ビデオを再生する準備ができたときに発生します。2番目の問題は、動画を一時停止してからもう一度再生した場合にのみ発生し、最初の問題はその時点で発生しますが、最初に動画を開始したときにも発生するようです。しかし、なぜそれをするのですか?なぜ1つのイベントだけではないのですか?

4

1 に答える 1

26

違いの理由は、再生ボタンをクリックする (またはplayメソッドを呼び出す) とpaused状態が変化falseし、playイベントが発生するためですが、ビデオが実際に再生を開始するという保証はありません。それはただ「遊んでみる」だけです。

ビデオに十分なデータがない場合は、ビデオが一時停止しているように見え (ただし、これpausedも false になります)、waitingイベントが発生します。十分なデータがある (およびreadyStateが より大きいか等しいHAVE_FUTURE_DATA) と、playingイベントが発生し、ビデオが再開されます。

したがって、実用的な目的でplayは、再生/一時停止トグル ボタンのアイコンのように、再生状態の視覚的なインジケーターを設定するのに適しています。ビデオが実際にplayingいつ再生されているかを知りたい場合に使用します。たとえば、イベントが発生したときに回転する「読み込み中」アイコンを表示し、イベントが発生したときにそのアイコンを削除したい場合があります。waitingplaying

(十分なデータがないこと以外にも、必要に応じてビデオが再生されない理由は他にもありますが、これらの理由によりwaitingおよびplayingイベントが発生しない場合があります。詳細については、HTML 標準を参照してください。)

于 2013-01-11T01:02:15.953 に答える