HTML DOM video オブジェクト

HTML DOM Video オブジェクト詳解:ウェブページのビデオ制御を簡単にマスター

HTML DOM Video オブジェクト詳解:ウェブページのビデオ制御を簡単にマスター

**概要:** HTML DOM Video オブジェクトについて深く理解し、JavaScript を使用してウェブページのビデオ再生を制御するさまざまなプロパティ、メソッド、イベントを習得することで、よりインタラクティブなウェブページビデオ体験を実現します。

1. プロパティ:ビデオ情報を完全に制御

ビデオ要素の状態や属性にアクセスするための主要なプロパティを以下の表にまとめます。

プロパティ 説明
currentTime 現在の再生時間ポイントを取得または設定します。
duration ビデオの合計時間(秒単位)を取得します。
paused ビデオが一時停止されているかどうかを判断します。
muted ビデオがミュートされているかどうかを取得または設定します。
volume ビデオの音量を取得または設定します(0.0 から 1.0 の範囲)。
playbackRate ビデオの再生速度を取得または設定します。
readyState ビデオの現在の読み込み状態を取得します。
networkState ビデオのネットワーク接続状態を取得します。
error ビデオの再生中に発生したエラー情報を取得します。
videoWidth, videoHeight ビデオの実際の解像度を取得します。

2. メソッド:ビデオ再生を正確に制御

ビデオの再生を制御するための主要なメソッドを以下に示します。

メソッド 説明
play() ビデオを再生します。
pause() ビデオの再生を一時停止します。
load() ビデオを再読み込みします。
canPlayType(type) ブラウザが指定されたビデオ形式をサポートしているかどうかを判断します。
<video id="myVideo" width="640" height="360" controls>
  <source src="myVideo.mp4" type="video/mp4">
  <source src="myVideo.webm" type="video/webm">
  おブラウザはビデオタグをサポートしていません。
</video>

<script>
var video = document.getElementById("myVideo");

function playVideo() {
  video.play();
}

function pauseVideo() {
  video.pause();
}
</script> 

3. イベント:再生状態にリアルタイムで応答

ビデオ再生中に発生するイベントをリッスンして、それに応じて応答することができます。一般的なイベントを以下の表に示します。

イベント 説明
play ビデオの再生が開始されたときに発生します。
pause ビデオが一時停止されたときに発生します。
ended ビデオの再生が終了したときに発生します。
volumechange ビデオの音量が変更されたときに発生します。
timeupdate ビデオの再生時間ポイントが更新されたときに発生します。
progress ビデオの読み込み進捗状況が変化したときに発生します。
error ビデオの再生中にエラーが発生したときに発生します。
<video id="myVideo" width="640" height="360" controls>
  <source src="myVideo.mp4" type="video/mp4">
  <source src="myVideo.webm" type="video/webm">
  おブラウザはビデオタグをサポートしていません。
</video>

<script>
var video = document.getElementById("myVideo");

video.addEventListener('ended', function() {
  // ビデオが終了したら何か処理を実行
  console.log("ビデオが終了しました");
});
</script>

4. 応用シナリオ:パーソナライズされたビデオ体験を実現

  • **カスタムビデオプレーヤーコントロール**: `video` オブジェクトのプロパティとメソッドを使用して、再生/一時停止ボタン、プログレスバー、音量コントロールなど、パーソナライズされたビデオプレーヤーを作成できます。
  • **ビデオエフェクトの実装**: `timeupdate` イベントをリッスンすることで、ビデオの再生時間ポイントに基づいてビデオ画面を動的に変更できます。たとえば、字幕の追加や画面エフェクトの実装などが可能です。
  • **インタラクティブビデオの構築**: ユーザー操作イベントをリッスンすることで、ビデオコンテンツとのインタラクションを実現できます。たとえば、ビデオをクリックして一時停止/再生したり、プログレスバーをドラッグして特定の時間ポイントにジャンプしたりできます。

5. 学習リソース:

  • <a href="https://developer.mozilla.org/ja/docs/Web/API/HTMLVideoElement">MDN Web Docs: HTMLVideoElement</a>

HTML DOM Video オブジェクトのプロパティ、メソッド、イベントを学び、習得することで、ウェブページのビデオを簡単に制御し、ユーザーにより豊かな視聴覚体験を提供できます。

関連QA

  1. Q: `video` 要素で再生できるビデオ形式は何ですか?
    A: 一般的に、MP4、WebM、Ogg などの一般的なビデオ形式は、ほとんどの最新のブラウザでサポートされています。ただし、ブラウザのサポートは異なる場合があるため、`canPlayType()` メソッドを使用して特定の形式のサポートを確認することをお勧めします。
  2. Q: JavaScript を使用してビデオの再生をループさせるにはどうすればよいですか?
    A: `ended` イベントをリッスンし、イベントハンドラ内で `currentTime` プロパティを 0 に設定することで、ビデオをループさせることができます。
  3. Q: ビデオの特定の時間にジャンプするにはどうすればよいですか?
    A: `currentTime` プロパティを目的の時間(秒単位)に設定することで、ビデオの特定の時間にジャンプできます。