이것저것 해본거 정리..
요구 사항은..(나랑 의견이 안 맞긴 했지만...)
1. 동영상은 2개
2. 위에 동영상이 끝나면 자동으로 아래것이 재생
3. Youtube는 iframe 형식으로 사용
===============처리 방법=================
참조 문서 : https://developers.google.com/youtube/iframe_api_reference#Playback_controls
일단!!! 제일 중요한 부분!!! iframe에 들어있는 주소에 쿼리스트링으로 enablejsapi=1 을 붙인다!!! 이거 안 붙여서 1시간 날려먹음..
그리고.. api 호출해주고.. :
<script src="https://www.youtube.com/iframe_api">
이하 제어 스크립트.. 나머지는 주석 참고..
< script > var player1, player2; //동영상 2개에 대한 객체 선언... //onYouTubeIframeAPIReady 함수는 https://www.youtube.com/iframe_api 에서 자동으로 호출한다.. 별도의 호출 선언 없음.. function onYouTubeIframeAPIReady() { // iframe id 넣어줌 (player1) player1 = new YT.Player('player1', { events: { 'onStateChange': onPlayerStateChange } }); // iframe id 넣어줌 (player2) player2 = new YT.Player('player2', { events: { 'onStateChange': onPlayerStateChange } }); } function onPlayerStateChange(event) { //동영상 플레이어의 상태 변경시 호출됨... //console.log(event); //console.log(event.target.a.id) switch (event.data) { case 0: //재생 멈춤 상태값.. //record('video ended'); //플레이어가 1에서 이벤트가 발생했다면.. if (event.target.a.id == 'player1') { //player2의 상태가 시작되지 않았다면 if (player2.getPlayerState() != "-1") { player1.stopVideo(); //멈추고 player2.playVideo(); //시작... } } else { if (player1.getPlayerState() != "-1") { player2.stopVideo(); player1.playVideo(); } } break; case 1: //재생 시작 상태값.. //record('video playing from '+player.getCurrentTime()); break; case 2: //재생 일시정지 상태값.. //record('video paused at '+player.getCurrentTime()); break; } } function record(str) { console.log(str); } < /script> |
끗!
댓글 없음:
댓글 쓰기