sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

HTML5 강좌 16강 - HTML5 태그 - 미디어 제어하기

 

이번 강좌에서는 미디어 파일을 자바스크립트를 통해 제어해 보도록 하겠습니다.

 

자바스크립트에 대해 생소한 분들이 있을수도 있겠네요.

자바스크립트는 웹 문서의 기능적인 부분이나 제어적인 부분을 처리하는 언어 정도로

간단히 인지하고 넘어가면 될 듯 합니다.

자바스크립트에 대한 강좌는 html5 강좌 이후에 진행하겠습니다.

 

먼저 기본적인 메소드를 보겠습니다.

 

*play() : 미디어 파일을 재생함

*pause() : 미디어 파일을 일시 정지함

 

위 내용대로 한 버튼에는 미디어 파일을 재생하는 버튼을 연동시키려 하고요

한 버튼에는 미디어파일을 일시정지 하는 버튼을 연동시켜 보겠습니다.

 

먼저 버튼을 만들고 onclick 속성을 이용하여 클릭했을 경우 발생하는 이벤트, 즉 메소드를 연결하겠습니다.

 

<button onclick="mediaPlay()">재생 하기</button> 

<button onclick="mediaPause()">일시 정지</button> 

 

 

01.jpg

 

 

 

그리고 자바스크립트 코드에서 각각 버튼의 메소드.. play(), pause() 의 실행을 요청받았을 때

응답할 동작을 작성해보죠.

 

function mediaPlay(){

alert("플레이버튼");

}

 

위 코드는 'mediaPlay()라는 메소드가 실행되면 응답으로 { } 안에 내용을 실행하겠다' 라는 의미입니다.

alert 이란 명령어는 경고메시지를 보여준다는 명령어고요.. 경고메시지는 '플레이버튼' 입니다.

정리하면 플레이버튼 클릭시 '플레이버트' 이라는 경고메시지를 띄우는 겁니다.


mediaPause() 메소드 역시 같은 방식으로 자바스크립트 함수를 하나 만들겠습니다.

 

function mediaPause(){

alert("포즈버튼");

}

 

 

02.jpg

 

 

 

간단히 테스트를 해봤습니다.

이제는 미디어 파일을 재생하는 기능을 자바스크립트 코드에 넣어보죠.

 

function mediaPlay(){

document.getElementById('player').play();

}

function mediaPause(){

document.getElementById('player').pause();

}

 

위 함수 mediaPlay()의 내용은 'player라는 아이디를 가진 문서의 객체를 플레이 하라' 라는 명령입니다.

반대로 mediaPause()의 내용은 'player라는 아이디를 가진 문서의 객체를 일시정지 하라' 라는 명령이죠.

 

이제 다른 기능도 추가로 넣어보겠습니다.

볼륨을 조절하는 기능을 넣어보죠.

 

<button onclick="mediaVolumeUp()">볼륨 +</button> 

<button onclick="mediaVolumeDown()">볼륨 -</button> 

 

위와같이 버튼을 생성하고요.

 

function mediaVolumeUp(){

document.getElementById('player').volume += 0.1

}

function mediaVolumeDown(){

document.getElementById('player').volume -= 0.1

}

 

위와같이 버튼 클릭시 실행할 함수도 만들었습니다.

 

 

03.jpg

 

 

 

아주 잘 작동하네요.

이번에는 재생속도를 조절하는 기능입니다.

 

<button onclick="increaseSpeed()">재생 속도 +</button> 

<button onclick="decreaseSpeed()">재생 속도 -</button> 

<button onclick="defaultSpeed()">기본 속도</button>

 

먼저 버튼을 만들었습니다.

그리고 자바스크립트 함수를 만들겠습니다.

 

function increaseSpeed(){

document.getElementById('player').playbackRate += 0.1; 

}

function decreaseSpeed(){

document.getElementById('player').playbackRate -= 0.1; 

}

function defaultSpeed(){ 

document.getElementById('player').playbackRate = 1; 

}

 

 

04.jpg

 

 

 

 

하나 더 만들어볼까요?

미디어 파일의 크기를 조절하는 기능을 만들어보죠.

 

<button onclick="increaseSize()">화면크기 +</button> 

<button onclick="decreaseSize()">화면크기 -</button> 

<button onclick="defaultSize()">원래크기로</button>

 

이렇게 버튼을 생성하고요.

 

function increaseSize(){

document.getElementById('player').width += 100;

document.getElementById('player').height += 100;

 

}

function decreaseSize(){

document.getElementById('player').width -= 100;

document.getElementById('player').height -= 100;

}

function defaultSize(){

document.getElementById('player').width = 400;

document.getElementById('player').height = 300;

}

 

자바스크립트 함수를 추가합니다.

 

 

05.jpg

 

 

 

 

(예제는 첨부파일에서 받을 수 있습니다.)

 

16.zip

번호 제목 글쓴이 날짜 조회 수
105 웹접근성 관련 참고 사이트 황제낙엽 2017.07.05 75
104 [보안] 혼합 콘텐츠(Mixed Content) 방지 황제낙엽 2017.04.13 112
103 <img> image 엘리먼트에서 이미지를 base64로 인코딩해서 사용하기 file 황제낙엽 2017.04.01 977
102 [ActiveX] CAB파일 수동 설치(레지스트리 등록) 방법 황제낙엽 2017.03.16 3162
101 iframe 다루기 황제낙엽 2017.02.27 65
100 ActiveX 에서 CLASSID 가 맞지 않을때의 현상 황제낙엽 2017.02.17 187
99 HTML5 강좌 23강 - 위치 정보(Geolocation API), 지도 서비스 file 황제낙엽 2016.12.03 218
98 HTML5 강좌 22강 - 파일접근, 파일정보 file 황제낙엽 2016.12.03 103
97 HTML5 강좌 21강 - 웹 스토리지 file 황제낙엽 2016.12.03 55
96 HTML5 강좌 20강 - HTML5 태그 - 드래그 앤 드롭 file 황제낙엽 2016.12.03 140
95 HTML5 강좌 19강 - HTML5 태그 - 입력양식 form 사용 예제 file 황제낙엽 2016.12.03 141
94 HTML5 강좌 18강 - HTML5 태그 - 입력양식 form 사용하기 file 황제낙엽 2016.12.03 33
93 HTML5 강좌 17강 - HTML5 태그 - 입력양식 form 사용하기 file 황제낙엽 2016.12.03 92
» HTML5 강좌 16강 - HTML5 태그 - 미디어 제어하기 file 황제낙엽 2016.12.03 29
91 HTML5 강좌 15강 - HTML5 태그 - 비디오 file 황제낙엽 2016.12.03 42
90 HTML5 강좌 14강 - HTML5 태그 - audio file 황제낙엽 2016.12.03 17
89 HTML5 강좌 13강 - HTML5 태그 - canvas 그림자스타일,도형합성하기 file 황제낙엽 2016.12.03 61
88 HTML5 강좌 12강 - HTML5 태그 - canvas 채우기 스타일,그라데이션 file 황제낙엽 2016.12.03 135
87 HTML5 강좌 11강 - HTML5 태그 - canvas 베지에곡선, 선 스타일 file 황제낙엽 2016.12.03 85
86 HTML5 강좌 10강 - HTML5 태그 - canvas 원그리기 file 황제낙엽 2016.12.03 128