HTML DOM의 Video textTracks 속성은 <video> 요소에 연결된 텍스트 트랙(자막·캡션 등)에 대한 정보를 담고 있는 TextTrackList 객체를 반환합니다. 이 속성을 활용하면 자바스크립트만으로 비디오에 포함된 자막 트랙의 개수나 각 트랙의 라벨(label) 등을 손쉽게 조회할 수 있습니다.
문법(Syntax)
textTracks 속성의 기본적인 사용 문법은 다음과 같습니다.
TextTrackList 객체 반환
mediaObject.textTracks
반환되는 TextTrackList 객체는 배열처럼 다룰 수 있으며, length 속성으로 전체 텍스트 트랙의 개수를 확인하고, 인덱스([0], [1] 등)로 개별 트랙에 접근할 수 있습니다.
예제(Example)
다음은 Video textTracks 속성을 실제로 사용하는 예제입니다. 버튼을 클릭하면 비디오에 등록된 텍스트 트랙의 총 개수와 첫 번째, 두 번째 트랙의 라벨이 화면에 출력됩니다.
<!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="Get Total Text Tracks">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var textSelect = document.getElementById("textSelect");
var demo = document.getElementById("demo");
function getTrackDetails() {
divDisplay.textContent = 'Total text tracks '+demo.textTracks.length;
divDisplay.textContent += ', 1. '+demo.textTracks[0].label;
divDisplay.textContent += ', 2. '+demo.textTracks[1].label;
}
</script>
</body>
</html>
실행 결과(Output)
'Get Total Text Tracks' 버튼을 클릭하기 전 화면입니다.

버튼을 클릭한 후에는 아래와 같이 텍스트 트랙의 총 개수와 각 트랙의 라벨이 표시됩니다.
