🐶 etc/2022기록

유튜브 스크립트 정리

서카츄 2024. 1. 13. 05:11
// 2. 이 코드는 Iframe Player API를 비동기적으로 로드한다. !!필수!!
    var tag = document.createElement('script');

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    // 3. API 코드를 다운로드 받은 다음에 <iframe>을 생성하는 기능 (youtube player도 더불어)
    var player;
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
            width: '100%',  //변경가능-영상 너비
            videoId: 'aKdDz864DuI',  //변경-영상ID
            playerVars: {
                'rel': 0,    //연관동영상 표시여부(0:표시안함)
                'controls': 1,    //플레이어 컨트롤러 표시여부(0:표시안함)
                'autoplay': 1,   //자동재생 여부(1:자동재생 함, mute와 함께 설정)
                'mute': 1,   //음소거여부(1:음소거 함)
                'loop': 1,    //반복재생여부(1:반복재생 함)
                'playsinline': 1,    //iOS환경에서 전체화면으로 재생하지 않게
                'playlist': 'aKdDz864Duo'   //재생할 영상 리스트
            },
            events: {
                'onReady': onPlayerReady, //onReady 상태일 때 작동하는 function이름
                'onStateChange': onPlayerStateChange //onStateChange 상태일 때 작동하는 function이름
            }
        });
    }

    // 4. API는 비디오 플레이어가 준비되면 아래의 function을 불러올 것이다.
    function onPlayerReady(event) {
        event.target.playVideo();
    }

    // 5. API는 플레이어의 상태가 변화될 때 아래의 function을 불러올 것이다.
    //    이 function은 비디오가 재생되고 있을 때를 가르킨다.(state=1),
    //    플레이어는 6초 이상 재생되고 정지되어야 한다.
    var done = false;
    function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING && !done) {
            // setTimeout(stopVideo, 6000);
            done = true;
        }
    }
    function stopVideo() {
        player.stopVideo();
    }

 

<div class="video">
            <div class="video-container">
              
            </div>
        </div>

 

 

 

.video {
    width: 100%;
}

.video-container {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 50%;
    padding-bottom:74.99%;
}


.video-container iframe {
    z-index: 1;
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}