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>
実行結果
「残りの視聴可能時間は?」ボタンをクリックする前 −

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

まとめ
seekable プロパティを利用すれば、動画のどの区間がシーク可能かを簡単に取得できます。ストリーミングサービスのように動画が段階的に読み込まれるケースでは、ユーザーへ視聴可能な範囲を通知したり、独自のシークバーコントロールを実装したりする際に非常に役立ちます。あわせて buffered プロパティ(読み込み済み範囲の取得)も確認しておくと、動画プレイヤー開発の理解がより深まります。
-
HTML DOM Video playbackRateプロパティの使い方!再生速度の取得・設定を解説
HTML DOMのVideo playbackRateプロパティは、動画メディアの現在の再生速度に対応する数値を取得・設定できるプロパティです。標準の再生速度は「1.0」で、値を大きくすれば早送り、小さくすればスロー再生として動作します。 構文 以下が構文の基本形です。 playbackRateの値を取得する(数値として返す) mediaObject.playbackRate playbackRateに値を設定する mediaObject.playbackRate = number 注意:設定できる数値の最大値は「16」です。また、「0.0」を指定すると動画は静止した状態になります。 Vide
-
HTML DOMのVideo widthプロパティとは?動画の幅を取得・設定する方法
HTML DOM の Video width プロパティは、<video> 要素で表示されるメディアの幅(width)に対応する数値を取得・設定できるプロパティです。単位はピクセル(px)で扱われ、JavaScript から動的に動画プレイヤーの横幅を変更したい場合に活用できます。 構文(Syntax) width プロパティの基本的な構文は以下のとおりです。 現在の幅(px)を取得する場合 mediaObject.width 幅(px)を新しく設定する場合 mediaObject.width = number なお、HTML 属性として記述された初期値は <video wi