HTML DOM Video textTracksプロパティの使い方をわかりやすく解説
HTML DOM の Video textTracks プロパティは、<video> 要素に関連付けられたテキストトラック(字幕やキャプションなど)の情報を格納した TextTrackList オブジェクトを返します。このプロパティを利用すると、JavaScript から動画に設定された字幕トラックの総数やラベル、言語などの情報を簡単に取得できます。
構文
textTracks プロパティの基本的な構文は以下の通りです。
mediaObject.textTracks
戻り値は TextTrackList オブジェクトであり、length プロパティでトラックの総数を取得したり、インデックス(例:textTracks[0])で個々の TextTrack オブジェクトにアクセスしたりすることが可能です。
サンプルコード
次の例では、Video textTracks プロパティを使って、動画に含まれるテキストトラックの総数と、各トラックのラベルを取得して画面に表示します。動画には英語とスペイン語の2つの字幕トラックが設定されています。
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Video textTracks</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-textTracks</legend>
<video id="demo" width="320" controls>
<source src="https://www.tutorialspoint.com/html5/foo.mp4" type="video/mp4">
<track default kind="subtitles" srclang="en" src="sample-en.srt" label="English"/>
<track kind="subtitles" srclang="es" src="sample-es.srt" label="Spanish" />
</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.textTracks.length;
divDisplay.textContent += ', 1つ目: ' + demo.textTracks[0].label;
divDisplay.textContent += ', 2つ目: ' + demo.textTracks[1].label;
}
</script>
</body>
</html>
実行結果
「テキストトラック情報を取得」ボタンをクリックする前の画面は以下の通りです。

ボタンをクリックした後は、テキストトラックの総数と各トラックのラベルが表示されます。

補足:TextTrackオブジェクトで取得できる主な情報
textTracks プロパティで取得した各 TextTrack オブジェクトには、以下のような便利なプロパティが用意されています。
- label … トラックのラベル(例:「English」「Spanish」)
- language … トラックの言語コード(srclang 属性の値)
- kind … トラックの種類(subtitles、captions、descriptions など)
- mode … トラックの表示モード(disabled、hidden、showing)
これらを組み合わせることで、ユーザーが選択可能な字幕リストの動的な生成や、特定の言語の字幕だけを有効化するといった処理も実装できます。
-
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