홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
[HTML5] <video> - DOM으로 제어하기
2년 전
HTML5의 <video> 요소 또한 메소드, 속성, 이벤트를 가지고 있습니다.

예를 들면 재생, 일시정지, 로딩을 위한 메소드가 있습니다. (영상의 특정)시간 지점이나 볼륨과 같이 읽거나 설정할 수 있는 속성들이 있습니다. 뿐만 아니라 <video> 요소가 재생되기 시작했을 때나 일시정지 되었을때, 혹은 재생이 끝났을때 그 이벤트의 발생 여부를 코드에서 확인할 수 있도록 해주는 DOM(Document Object Model) 이벤트 요소도 제공되고 있습니다.

아래의 예제에선 <video> 요소에 대해 어떤 방식으로 속성을 읽고 설정할 수 있는지, 또 어떻게 각 기능을 담당하는 메소드를 호출할 수 있는지 간략하게 코드로 보여주고 있습니다.

(이번 글의 내용을 이해하기 위해선 자바스크립트에 대한 기본 지식이 필요합니다.)

간략한 예제 코드
<div style="text-align: center">
<button onclick="playPause()">재생/일시정지</button>
<button onclick="makeBig()">크게</button>
<button onclick="makeSmall()">작게</button>
<button onclick="makeNormal()">일반크기</button>
<br>
<video id="video1" width="420">
<source type="video/mp4" src="mov_bbb.mp4">
<source type="video/ogg" src="mov_bbb.ogg">
사용중인 웹브라우저가 HTML5 Video를 지원하지 않습니다.
</video>
</div>
<script type="text/javascript">
var myVideo=document.getElementById("video1");
function playPause()
{
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}

function makeBig()
{
myVideo.width=560;
}

function makeSmall()
{
myVideo.width=320;
}

function makeNormal()
{
myVideo.width=420;
}
</script>

1번째 줄에서 14번째 줄까지 각 버튼과 비디오 요소의 가운데 정렬을 위해 div 태그와 가운데 정렬 스타일 시트(style="text-align:center;")를 적용하고 있습니다.

3번째 줄에서 6번째 줄까지 나열된 코드에는 비디오 요소의 재생/일시정지, 크게 만들기, 작게 만들기, 일반 크기로 만들기 기능을 사용자가 실행할 수 있도록 총 4개의 버튼을 <button> 태그로 배치하고 있습니다. 각 버튼에는 onclick="..." 이벤트 핸들러 속성을 지정해 사용자가 버튼을 클릭할 때마다 지정된 함수를 호출하도록 하고 있습니다.

9번째 줄에서 13번째 줄에선 실제 영상을 화면에 표시해줄 비디오 요소가 정의되고 있습니다.

17번째 줄에선 위에서 정의한 비디오 요소를 코드단에서 제어할 수 있도록 document.getElementById(...) 함수를 통해 비디오 요소를 코드로 가져오고 있고

19번째 줄에서 40번째 줄까지의 코드에선 비디오의 재생/일시 정지 기능 실행을 위해 play() / pause() 함수를 호출하고 있고, 또한 비디오의 가로 크기 변경을 위해 width 속성에 지정된 숫자값을 대입하고 있습니다.

결론적으로 위의 예제는 아래와 같은 두 개의 메소드를 호출하고 있습니다.
play()
pause()
각각 비디오를 재생하거나 혹은 일시정지 할 수 있는 메소드(함수) 입니다.

그리고 아래와 같은 두 개의 속성을 사용하고 있습니다.

.paused
.width
각각 (위에서부터) 비디오가 일시 정지 상태인지 확인하거나, 혹은 가로 길이를 확인할 수 있으며 숫자 대입을 통해 가로 길이를 변경할 수도 있습니다.

HTML5 <video> - 메소드, 속성, 그리고 이벤트들

아래쪽에 나열된 항목들은 대부분의 웹 브라우저에서 지원되는 <video> 요소의 메소드, 속성, 그리고 이벤트 들입니다.

메소드
play()
pause()
load()
canPlayType()

속성
currentSrc
currentTime
videoWidth
videoHeight
duration
ended
error
paused
muted
seeking
volume
height
width

이벤트
play
pause
progress
error
timeupdate
ended
abort
empty
emptied
waiting
loadedmetadata

참고: 비디오의 속성들 중, 오직 videoWidth와 videoHeight 속성만이 즉시 사용 가능합니다. 다른 속성들은 비디오의 총 시간, 사이즈와 같은 관련 정보인 메타 데이터가 모두 로드된 이후에만 접근할 수 있습니다.
추천추천 : 24 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.