Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loop option doesn't work in the youtube js api

I'm wondering why my code doesn't play the loop for the video. Everything is working except the loop option. And I really need it. Thanks a lot.

<script src="jsapi.js"></script>
<script src="swfobject.js"></script>
<div id="ytapiplayer">You need Flash player 8+ and JavaScript enabled to view this video.</div>
<script type="text/javascript">
    google.load("swfobject", "2.1");
    function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myytplayer");
        ytplayer.playVideo();
        ytplayer.mute();
    // I've tried it, just to.. try hehe  ytplayer.setLoop(true);
    }
    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF("http://www.youtube.com/v/RLOQCqGKVt8?autoplay=1&loop=1&enablejsapi=1&playerapiid=ytplayer&allowFullScreen=true&version=3&controls=0&showinfo=0&autohide=1&rel=0",
    "ytapiplayer", "100%", "100%", "8", null, null, params, atts);
</script>
like image 251
hellodracon Avatar asked Dec 09 '22 11:12

hellodracon


1 Answers

The solution is to adding in the 'playerVars' object, the 'playlist' attributes. Like this loop works, also for single video.

function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '100%',
        width: '100%',
        playerVars : {
                  'autoplay' : 1,
                  'rel' : 0,
                  'showinfo' : 0,
                  'showsearch' : 0,
                  'controls' : 0,
                  'loop' : 1,
                  'enablejsapi' : 1,
                  'playlist': 'your-single-video-ID'
                },
        videoId: 'your-single-video-ID',
        events: {
            'onReady': onPlayerReady
            }
       });
}
like image 57
keypaul Avatar answered Dec 11 '22 00:12

keypaul