I was wondering, does embedding a youtube video via iframe expose certain events, like onStart or onStop, where you can specify some callback?
The only used Events are :
1 - onStateChange
2 - onPlaybackQualityChange
3 - onError
4 - onApiChange
-Event Handlers:
1- onYouTubePlayerReady(playerid)
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: