2011-01-19 10 views
9

Dovrei creare una sorta di video rotatore di YouTube utilizzando jquery. Mi sono guardato intorno e non sembrava esserci alcun plugin adatto al requisito. Neanche una soluzione.Cattura l'evento quando viene eseguito un video flash su YouTube utilizzando javascript

Forse cercherò di farlo. Così ora, come posso determinare che un video di youtube è finito e giocare automaticamente al prossimo, usando Jquery, o semplicemente javascript?

E se ti capita di conoscere un plug-in che può essere d'aiuto, ti preghiamo di farlo notare.

Grazie

+1

non YouTube ha una funzionalità di playlist in cui è possibile mettere in coda i video per la rotazione automatica? - ** MODIFICA ** Caso in questione: http://www.youtube.com/custom_player/ –

risposta

12

In primo luogo è necessario assicurarsi che il player di YouTube si sta incorporando supporti javascript passando enablejsapi=1 come param get. Ecco come inserisco un giocatore (chromeless) utilizzando SWFObject:

var player_id = "your_player_id"; 
    var params = { allowScriptAccess: "always" }; 
    var url = "http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=" + player_id; 
    swfobject.embedSWF(url, player_id, '320', '240', "9.0.0", null, null, params, {'id': player_id}); 

allora avete bisogno di aggiungere una funzione globale che viene chiamata quando il giocatore è pronto, e in che aggiungo un listener per quando un video è completo:

var player = null; 

    function onYouTubePlayerReady(player_id) { 
     player = document.getElementById(player_id); 
     player.addEventListener('onStateChange', 'playerStateChanged'); 
     player.loadVideoById(youtube_video_id); 
    }; 

    function playerStateChanged(state) { 
     // State code 0 means playback ended 
     if (state == 0) { 
     player.loadVideoById(next_video_id); 
     } 
    }; 

Ho scritto questo codice per il bookmarklet della mia playlist su YouTube. Ecco un link se volete un esempio di lavoro: http://zaius.github.com/youtube_playlist/

E se si vuole fare qualcosa di più in profondità, ecco la YouTube JavaScript di riferimento dove ho trovato il modo di fare tutto questo: http://code.google.com/apis/youtube/js_api_reference.html

Problemi correlati