web-dev-qa-db-ja.com

html5ビデオの準備ができているかどうかを確認する

hTML5ビデオの再生準備ができている場合、JavaScriptイベントがトリガーされますか?

37
dantz

再生の準備ができているということは、readyStateプロパティがHAVE_ENOUGH_DATA定数(数値4)。 doc によると、readyStateプロパティがこの値に変わると、canplayイベントが発生するはずです。

16
Olivier Amblet

ちょうどこの質問に出くわしました。少し古いですが、私はこれを将来の読者(私のように、おそらくGoogleから来た読者)に投稿しています。

したがって、今日の時点で、これはhtml5メディアのイベントリストです(W3Cによる)。

  • オナボート :中止時に実行されるスクリプト
  • oncanplay :ファイルの再生を開始する準備ができたときに実行するスクリプト(開始するのに十分なバッファリングが完了したとき)
  • oncanplaythrough :バッファリングを一時停止せずにファイルを最後まで再生できる場合に実行されるスクリプト
  • ondurationchange :メディアの長さが変更されたときに実行されるスクリプト
  • 空いている :何か問題が発生し、ファイルが突然利用できなくなったときに実行されるスクリプト(予期しない切断など)
  • 変わった :メディアが終わりに達したときに実行するスクリプト(「ありがとう」などのメッセージの便利なイベント)
  • onerror :ファイルのロード中にエラーが発生したときに実行されるスクリプト
  • onloadeddata :メディアデータのロード時に実行されるスクリプト
  • onloadedmetadata :メタデータ(ディメンションや期間など)が読み込まれたときに実行されるスクリプト
  • onloadstart :ファイルが実際にロードされる前にファイルのロードが開始されたときに実行されるスクリプト
  • 一時停止 :ユーザーまたはプログラムによってメディアが一時停止されたときに実行されるスクリプト
  • プレイ中 :メディアが再生を開始する準備ができたときに実行されるスクリプト
  • 演奏中 :メディアが実際に再生を開始したときに実行されるスクリプト
  • 進行中 :ブラウザがメディアデータを取得しているときに実行されるスクリプト
  • onratechange :再生速度が変化するたびに実行されるスクリプト(ユーザーがスローモーションモードまたは早送りモードに切り替えたときなど)
  • onreadystatechange :準備状態が変わるたびに実行されるスクリプト(準備状態はメディアデータの状態を追跡します)
  • 求めた :シーク属性がfalseに設定され、シークが終了したことを示すときに実行されるスクリプト
  • 探求 :シーク属性がtrueに設定され、シークがアクティブであることを示すときに実行されるスクリプト
  • 取り付けられた :ブラウザーが何らかの理由でメディアデータを取得できない場合に実行されるスクリプト
  • オンサスペンド :メディアデータのフェッチ時に実行されるスクリプトは、何らかの理由で完全にロードされる前に停止されます
  • ontimeupdate :再生位置が変更されたときに実行されるスクリプト(ユーザーがメディアの別のポイントに早送りするときなど)
  • onvolumechange :ボリュームが変更されるたびに実行されるスクリプト(ボリュームを「ミュート」に設定することを含む)
  • 待っている :メディアが一時停止したが再開すると予想されるときに実行されるスクリプト(メディアが一時停止してさらにデータをバッファリングするときなど)。

ダンツはoncanplaythroughを探していました。

お役に立てれば。

81
MeanMatt

ここで良い議論を...

http://tiffanybbrown.com/2010/07/05/the-html5-video-progress-event/

特に最初のコメント。

基本的に、これは仕様に含まれていましたが、メディアのレンダリング方法と正確に連携していないため、削除されました。代わりに、.bufferedが追加されました。

使用中のバッファリングの例を次に示します。

http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/

6
Orbit

ビデオを再生する準備ができたときに処理する2つのイベントがあります。

  • canplay:ビデオの再生準備はできているがバッファリングが完了していないときに発生
  • canplaythrough:ビデオの再生準備が整い、バッファリングが完了したときに発生します
2
Yann L.

http://www.w3.org/TR/html5/video.html#mediaevents は、html5メディアタグに関して利用可能なすべてのイベントをリストしているため、非常に有用であることがわかりました。

0
boz