2012-12-19 3 views
6

Sto provando a migrare da jw5 a jw6. In jw5, ho incluso callback di eventi all'interno della configurazione del player. Per esempio:L'installazione di jwplayer 6 non supporta più le chiamate all'evento. come sapere quando il lettore è pronto se non riesco a specificare la funzione di richiamata onReady durante l'installazione?

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"); 
    },   
    } 
}); 

Secondo la migrazione JW5-to-jw6 documentation, sembra che non riesco più a comprendere i callback di eventi all'interno della configurazione del lettore:

Rimosso: il blocco di configurazione eventi In questo modo l'aggiunta di listener di eventi è completamente ridondante con l'aggiunta di ascoltatori al di fuori del setup, sia in termini di funzionalità che di quantità di codice richiesto.

Se ho capito bene, dovrei specificare i callback di eventi in questo modo:

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

La mia domanda:

Mi sembra che ho bisogno di aspettare che l'oggetto myplayer di essere pronto, prima di poter definire questi callback dell'evento myplayer. Vero? Come faccio a sapere quando myplayer è pronto, se non riesco a specificare la richiamata dell'evento onReady all'interno della configurazione?

risposta

10

In JWPlayer6 è possibile aggiungere il gestore di eventi onReady allo stesso modo in cui si aggiungono altri. Questo funziona per me:

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

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

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

    playerInstance.play(); 
}); 
+1

Ho provato, ma non funziona per me. (Usando il debugger firebug, vedo che "console.log ('ready')" non viene mai eseguito.) – moondog

+0

Hai altri errori/registra firebug? Forse hai un percorso errato verso swf player o qualcos'altro. Ti consiglio di iniziare con un esempio di base come ho fatto io - basta scaricare i file JWplayer e provare il codice sopra con esso. – Inferpse

+1

grazie, questo sta funzionando per me ora. il problema era che stavo usando una versione non compressa di jwplayer, js per eseguire il debug di un altro problema. quando sono tornato a utilizzare la versione compressa originale di jwplayer.js, funzionano i callback su Ready. – moondog

0

Il primo problema è che si dispone di un errore di battitura nel blocco di codice ultima: dovrebbe essere myplayer.onReady() ;-)

Inoltre i gestori di eventi ottenere collegato agli oggetti corrispondenti non appena si procedeva.

Quindi penso che si dovrebbe semplicemente mettere la configurazione jwplayer e onReady & onPlay eventi in $(document).ready().

Penso che questo dovrebbe funzionare come previsto.

+0

Purtroppo, non riesco a mettere il mio jwplayer setup e callback di eventi all'interno di $ (document) .ready(). Sto cercando di sviluppare un plugin jwplayer per il player di mediafront, che caricherà il jwplayer in modo dinamico, se necessario. – moondog

+0

@moondog Va bene! Hai dato un'occhiata all'altra risposta? – andi1984