HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM Videoのseekableプロパティとは?シーク可能範囲の取得方法を解説

HTML DOM Video の seekable プロパティとは

HTML DOM の Video seekable プロパティは、動画内でシーク(再生位置の移動)が可能な範囲の情報を保持した TimeRanges オブジェクトを返します。このオブジェクトには、シーク可能な範囲の長さや、開始位置・終了位置が含まれています。

特にストリーミング配信では、動画データが完全に読み込まれる前に再生が始まるため、必ずしも動画全体を自由に移動できるとは限りません。seekable プロパティを使えば、「いまどこまで再生位置を動かせるのか」を JavaScript から正確に判定できます。

構文

seekable プロパティの構文は次のとおりです。呼び出すと TimeRanges オブジェクトが返されます。

mediaObject.seekable

TimeRanges オブジェクトの主なメンバー

  • length:シーク可能な範囲(タイムレンジ)の個数
  • start(index):指定した範囲の開始時刻(秒)
  • end(index):指定した範囲の終了時刻(秒)

サンプルコード

続いて、Video seekable プロパティを使った具体的な例を見てみましょう。ボタンをクリックすると、現在シーク可能な範囲が画面上に表示されます。

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Video seekable</title>
<style>
  * {
    padding: 2px;
    margin: 5px;
  }
  form {
    width: 70%;
    margin: 0 auto;
    text-align: center;
  }
  input[type="button"] {
    border-radius: 10px;
  }
</style>
</head>
<body>
  <form>
    <fieldset>
      <legend>HTML DOM Video - seekable</legend>
      <video id="demo" width="320" controls>
        <source src="https://www.tutorialspoint.com/html5/foo.mp4" type="video/mp4">
      </video><br>
      <input type="button" onclick="getTrackDetails()" value="残りの視聴可能時間は?">
      <div id="divDisplay"></div>
    </fieldset>
  </form>
  <script>
    var divDisplay = document.getElementById("divDisplay");
    var demo = document.getElementById("demo");
    function getTrackDetails() {
      divDisplay.textContent = 'プレミアム会員のお客様は、' + demo.seekable.start(0) + '〜' + demo.seekable.end(0) + ' 秒の範囲でシークできます';
    }
  </script>
</body>
</html>

実行結果

「残りの視聴可能時間は?」ボタンをクリックする前 −

HTML DOM Videoのseekableプロパティとは?シーク可能範囲の取得方法を解説

「残りの視聴可能時間は?」ボタンをクリックした後 −

HTML DOM Videoのseekableプロパティとは?シーク可能範囲の取得方法を解説

まとめ

seekable プロパティを利用すれば、動画のどの区間がシーク可能かを簡単に取得できます。ストリーミングサービスのように動画が段階的に読み込まれるケースでは、ユーザーへ視聴可能な範囲を通知したり、独自のシークバーコントロールを実装したりする際に非常に役立ちます。あわせて buffered プロパティ(読み込み済み範囲の取得)も確認しておくと、動画プレイヤー開発の理解がより深まります。

  1. HTML DOM Video playbackRateプロパティの使い方!再生速度の取得・設定を解説

    HTML DOMのVideo playbackRateプロパティは、動画メディアの現在の再生速度に対応する数値を取得・設定できるプロパティです。標準の再生速度は「1.0」で、値を大きくすれば早送り、小さくすればスロー再生として動作します。 構文 以下が構文の基本形です。 playbackRateの値を取得する(数値として返す) mediaObject.playbackRate playbackRateに値を設定する mediaObject.playbackRate = number 注意:設定できる数値の最大値は「16」です。また、「0.0」を指定すると動画は静止した状態になります。 Vide

  2. HTML DOMのVideo widthプロパティとは?動画の幅を取得・設定する方法

    HTML DOM の Video width プロパティは、<video> 要素で表示されるメディアの幅(width)に対応する数値を取得・設定できるプロパティです。単位はピクセル(px)で扱われ、JavaScript から動的に動画プレイヤーの横幅を変更したい場合に活用できます。 構文(Syntax) width プロパティの基本的な構文は以下のとおりです。 現在の幅(px)を取得する場合 mediaObject.width 幅(px)を新しく設定する場合 mediaObject.width = number なお、HTML 属性として記述された初期値は <video wi