Take a look at this code. It actually loads the video perfectly, but it doesn't fire onPlayerStateChange
when pausing, loading, or playing the video.
I've already implemented a function to print any new video status, but it doesn't even report events.
Why isn't the onPlayerStateChange
firing?
Code from JSBin:
<body>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load("swfobject", "2.1");
</script>
<script>
function onYouTubePlayerReady(playerId) {
var myplayer = document.getElementById("myplayer");
myplayer.cueVideoById("pGBMFxN_eys",0, "default");
myplayer.addEventListener("onStateChange", onPlayerStateChange);
}
function onPlayerStateChange(newState){
log(newstate);
}
function log(text){
document.getElementById('logarea').innerHTML+=text+"<br/>";
console.log(text);
}
function setup(){
var params = { allowScriptAccess: "always",wmode:"transparent" };
var atts = { id: "myplayer" };
swfobject.embedSWF("http://www.youtube.com/apiplayer?" +
"&enablejsapi=1&playerapiid=mojplayer",
"greatvideo", "400", "300", "8", null, null, params, atts);
}
google.setOnLoadCallback(setup);
</script>
<div id="logarea">
</div>
<div id="greatvideo">
</div>
</body>