Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Youtube embedded video start / stop event

I was wondering, does embedding a youtube video via iframe expose certain events, like onStart or onStop, where you can specify some callback?

like image 444
Aleksandar Trajkov Avatar asked Dec 28 '22 00:12

Aleksandar Trajkov


1 Answers

This an example to handle start and stop events:

HTML file (index.html):

<!DOCTYPE html>
<html>
    <head>
        <title>Stackoverflow</title>
        <script type="text/javascript" src="http://www.youtube.com/player_api"> </script>
        <script type="text/javascript" src="sof.js"> </script>
    </head>
    <body>
        <div id="player"></div>
    </body>
</html>

And the JavaScript (sof.js):

var player;
// This function creates an <iframe> (and YouTube player)
// after the API code downloads.
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'u1zgFlCw8Aw',
        events: {
            'onStateChange': function (event) {
                switch (event.data) {
                    case -1:
                        console.log ('unstarted');
                        break;
                    case 0:
                        console.log ('ended');
                        break;
                    case 1:
                        console.log ('playing');
                        break;
                    case 2:
                        console.log ('paused');
                        break;
                    case 3:
                        console.log ('buffering');
                        break;
                    case 5:
                        console.log ('video cued');
                        break;
                }
            }
        }
    });
}

For each case you can set an handler.

For further info:

  1. YT Player Getting Started
  2. YT Javascript API Events
like image 197
Wilk Avatar answered Jan 05 '23 06:01

Wilk