Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Track srclang 속성 – 텍스트 트랙 언어 가져오기 및 설정하기

HTML DOM의 Track srclang 속성은 <track> 요소로 지정된 텍스트 트랙(자막·캡션 등)의 언어에 해당하는 값을 가져오거나 설정할 때 사용됩니다. 이 속성은 'ko', 'en', 'es'와 같은 ISO 언어 코드 형태의 문자열을 다루며, 하나의 동영상에 여러 언어의 자막을 제공하는 멀티미디어 플레이어를 만들 때 특히 유용합니다.


문법(Syntax)

1. 값 반환하기

trackObject.srclang

srclang 속성 값을 읽으면 해당 텍스트 트랙의 언어 코드가 문자열 형태로 반환됩니다.

2. 값 설정하기

trackObject.srclang = stringValue

stringValue 자리에 새로운 언어 코드를 문자열로 지정하면 해당 텍스트 트랙의 언어가 변경됩니다.


참고: HTML 표준에 따르면 kind="subtitles"로 지정된 텍스트 트랙에는 반드시 srclang 속성이 포함되어야 합니다.

예제

다음은 Track srclang 속성을 활용한 예제입니다. 동영상에는 스페인어(es)와 영어(en) 두 개의 자막 트랙이 연결되어 있으며, 버튼을 클릭하면 default 속성이 적용된 기본 트랙의 언어를 확인하여 화면에 표시합니다.

<!DOCTYPE html>
<html>
<head>
<title>Track srclang</title>
<style>
    form {
        width:70%;
        margin: 0 auto;
        text-align: center;
    }
    * {
        padding: 2px;
        margin:5px;
    }
    input[type="button"] {
        border-radius: 10px;
    }
</style>
</head>
<body>
    <form>
        <fieldset>
           <legend>Track-srclang</legend>
           <video id="videoSelect" controls width="250" src="sample.mp4">
           <track default kind="subtitles" srclang="es" src="sample-es.srt" label="Spanish" />
           <track kind="subtitles" srclang="en" src="sample-en.srt" label="English" />
           </video><br>
           <input type="button" onclick="getTrackDetails()" value="기본 트랙의 언어는 무엇인가요?">
           <div id="divDisplay"></div>
        </fieldset>
    </form>
<script>
    var divDisplay = document.getElementById("divDisplay");
    var trackSelect = document.getElementsByTagName("track");
    function getTrackDetails() {
        for(var i=0; i<trackSelect.length; i++)
            if(trackSelect[i].default && trackSelect[i].srclang === 'es')
                divDisplay.textContent = '기본 트랙의 언어: '+trackSelect[i].label;
    }
</script>
</body>
</html>

실행 결과

'기본 트랙의 언어는 무엇인가요?' 버튼을 클릭하기 전의 화면입니다.

HTML DOM Track srclang 속성 – 텍스트 트랙 언어 가져오기 및 설정하기

버튼을 클릭한 후의 화면입니다. JavaScript가 각 track 요소를 순회하며 default 속성과 srclang 값('es')이 일치하는 트랙을 찾아, 해당 트랙의 라벨(Spanish)이 div 영역에 출력됩니다.

HTML DOM Track srclang 속성 – 텍스트 트랙 언어 가져오기 및 설정하기