jwplayer 6 setup no longer supports event callbacks. how to tell when player is ready if I cannot specify onReady callback within setup?

moondog picture moondog · Dec 19, 2012 · Viewed 11.9k times · Source

I am trying to migrate from jw5 to jw6. In jw5, I included event callbacks within the player setup. For example:

var myplayer = jwplayer('container').setup({
  flashplayer:  /my/player.swf',
  height: '100%',
  width: '100%', 
  events: {
    'onReady': function(event) {
       alert ("on ready");
    },
    'onPlay': function(event) {
       alert ("on play");
    },        
  }
});

According to the jw5-to-jw6 migration documentation, it seems I can no longer include event callbacks within the player setup:

Removed: the events configuration block This way of adding event listeners is fully redundant with adding listeners outside the setup, both in terms of features and amount of code required.

If I understand correctly, I am supposed to specify the event callbacks this way:

myplayer.onReady( function(event){
  alert('on ready');
});
myplayer.onPlay( function(event){
  alert('on play');
});

My Question:

It seems to me I need to wait for the myplayer object to be ready, before I can define these myplayer event callbacks. True? How do I know when myplayer is ready, if I cannot specify the onReady event callback within the setup?

Answer

Inferpse picture Inferpse · Dec 19, 2012

In JWPlayer6 you can add onReady event handler the same way you add others. This works for me:

var playerInstance = jwplayer("myElement").setup({
    file: "test.mp4"
});

playerInstance.onReady(function() {
    console.log('ready');

    playerInstance.onPlay(function() {
        console.log('playing');
    });

    playerInstance.play();
});