Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [AS3] Problema con Player video Youtube

    Saluti a tutti,
    dopo aver impiegato "secoli" per riuscire a capire come realizzare un Player video per visualizzare i video di Youtube all'interno di un sito fatto tutto in Flash (sono un musicista e fonico, realizzo per diletto semplici siti in Flash per amici e colleghi) ora sono veramente di fronte ad un problema per me irrisolvibile senza un aiuto esterno.
    In pratica il filmato riprodotto da solo funziona perfettamente, mentre se lo carico da un'altro (il filmato principale su livello 0) su un livello superiore, non da segni di vita.

    Qualcuno può aiutarmi?


    Grazie anticipatamente


    Ciao!


    Paolo


    Codice inserito nel primo fotogramma di un MovieClip collocato nel primo fotogramma della timeline principale:


    Security.allowDomain("www.youtube.com");

    // This will hold the API player instance once it is initialized.
    var player:Object;

    var loader:Loader = new Loader();

    loader.contentLoaderInfo.addEventListener(Event.IN IT, onLoaderInit);

    loader.load(new URLRequest("http://www.youtube.com/v/EsrOd7KOwQY?version=3"));






    function onLoaderInit(event:Event):void {
    addChild(loader);
    loader.content.addEventListener("onReady", onPlayerReady);
    loader.content.addEventListener("onError", onPlayerError);
    loader.content.addEventListener("onStateChange", onPlayerStateChange);
    loader.content.addEventListener("onPlaybackQuality Change", onVideoPlaybackQualityChange);
    }





    function onPlayerReady(event:Event):void {
    // Event.data contains the event parameter, which is the Player API ID
    trace("player ready:", Object(event).data);

    // Once this event has been dispatched by the player, we can use
    // cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl
    // to load a particular YouTube video.
    player = loader.content;
    // Set appropriate player dimensions for your application
    player.setSize(854,480);
    }

    function onPlayerError(event:Event):void {
    // Event.data contains the event parameter, which is the error code
    trace("player error:", Object(event).data);
    }

    function onPlayerStateChange(event:Event):void {
    // Event.data contains the event parameter, which is the new player state
    trace("player state:", Object(event).data);
    }

    function onVideoPlaybackQualityChange(event:Event):void {
    // Event.data contains the event parameter, which is the new video quality
    trace("video quality:", Object(event).data);
    }







    Nota: il file swf funziona solo se avviato esternamente da Flash...

    Mio sito
    Sito dove andrebbe inserito il Player

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    Ho testato il codice e funziona tutto, anche come filmato secondario caricato dentro un altro filmato caricatore.

    Tutto ok se lancio il filmato da Flash e tutto ok anche se lo inserisco in una pagina html e visualizzo in rete.

  3. #3
    Ciao Sleter,
    ti ringrazio infinitamente per la tua disponibilità e tempestività.
    Il codice, quindi, non doveva essere modificato.
    Ho provato a modificare quasi tutte le variabili rimanenti e ho scoperto che il problema potrebbe consistere nel fatto che il mio filmato caricatore è in AS2.
    Ho fatto una modifica parziale trasformandolo in AS3 ed, almeno in locale, il tutto funziona.
    Domani proverò anche a pubblicarlo in rete.
    Il problema ora è che per fare questa prova ho modificato solo un pulsante del filmato caricatore ma in realtà all'interno c'è anche un preloader (che non funziona più in as3) e il filmato stesso a sua volta è caricato dal filmato principale contenente tutta la grafica e il menù del sito. In pratica: HOME PAGE con pulsante "media" che carica SEZIONE MEDIA con pulsante "video" che carica SEZIONE VIDEO. (www.giuliopiovani.it)

    Esiste un modo per evitare di dover trasformare i filmati caricatori da AS2 a AS3?


    Grazie anticipatamente


    Ciao!

  4. #4
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    Come hai giustamente osservato, in un filmato AS2 non è possibile importare un filmato AS3 mentre in alcuni casi potrebbe funzionare il contrario ovvero: contenitore in AS3 e contenuto in AS2.

    Per quanto riguarda il preload, sopratutto per il filmato .swf con il codice di caricamento del video da youtube non è necessario perchè di fatto stai caricando solo una chiamata a un URL.
    Anche se ci fosse un animazione di preload, nemmeno si vedrebbe in quanto il filmato che incorpora il video da youtube pesa pochissimo (nella prova che ho fatto: 2 kb).

    Tutto sommato, se non hai molto codice nel filmato principale ti consiglierei di convertirlo AS3 e vedere se funzionano i filmati AS2 importati.

    Ti riporto un esempio di codice AS3 che in un MC contenitore carica e scarica filmati .swf in relazione all'effettivo pulsante premuto del menu.
    Considera che il menù è un MovieClip posizionato sullo stage che a sua volta contiene 5 MC istanziati con il loro nome istanza all'interno del MC menu.
    I filmati sono in una cartella di nome "sezioni" presente nella stessa directory del filmato principale:
    Codice PHP:
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.Event;

    var 
    listaPulsanti:Array;
    var 
    listaSezioni:Array;
    var 
    caricatore:Loader = new Loader  ;
    var 
    richiesta:URLRequest;
    var 
    contenitore:MovieClip = new MovieClip  ;

    inizializza();

    function 
    inizializza():void
    {
        
    contenitore.90;
        
    addChild(contenitore);
        
    caricatore.load(new URLRequest("sezioni/sezione1.swf"));
        
    contenitore.addChild(caricatore);

        
    listaPulsanti = new Array(menu.pulsante1,menu.pulsante2,menu.pulsante3,menu.pulsante4,menu.pulsante5);
        
    listaSezioni = new Array("sezioni/sezione1.swf","sezioni/sezione2.swf","sezioni/sezione3.swf","sezioni/sezione4.swf","sezioni/sezione5.swf");
        
    inizializzaPulsanti();
    }
    function 
    inizializzaPulsanti():void
    {
        for (var 
    i:uint 0listaPulsanti.length++)
        {
            
    listaPulsanti[i].identificaSezione i;
            
    listaPulsanti[i].buttonMode true;
            
    listaPulsanti[i].addEventListener(MouseEvent.MOUSE_DOWNcaricaSezione);
        }
    }
    function 
    caricaSezione(evento:MouseEvent):void
    {
        if (
    caricatore != null)
        {
            
    caricatore.unload();
        }
        
    richiesta = new URLRequest(listaSezioni[evento.target.identificaSezione]);
        
    caricatore.load(richiesta);
        
    caricatore.contentLoaderInfo.addEventListener(Event.COMPLETEcaricamentoCompletato);
    }
    function 
    caricamentoCompletato(evento:Event):void
    {
        var 
    swf:MovieClip evento.target.loader.content as MovieClip;
        if (
    contenitore.numChildren 0)
        {
            
    contenitore.removeChildAt(0);
            
    contenitore.addChild(swf);
        }

    Se qualcosa non ti è chiaro o se ti serve un'animazione di preload da visualizzare durante il caricamento in corso, fammi sapere.

    ciao

  5. #5
    Ciao Sleter,
    in questi giorni proverò a vedere se la conversione del filmato principale in AS3, anche con l' aiuto del tuo codice, è alla mia portata.....mi sa che è giunto il momento di prendermi un bel manuale di AS3.......
    Ho dato anche un'occhiata in rete per trovare eventualmente qualche altro progetto analogo di Player video in AS2.
    Ho trovato questo: http://www.youtube.com/watch?v=wfU5Hj3uKZ4 che però a me non funziona. C'è anche la possibilità di scaricare vari tipi di sorgenti (tra l'altro interessanti) ma sono in CS5 e il mio CS4 non li apre.

    Che dire, tra una cosa e l'altra spero di trovare una soluzione......Confidando anche col tuo prezioso aiuto....

    Rinnovando i ringraziamenti per la tua disponibilità ti porgo cordiali saluti


    Ciao!


    Paolo

  6. #6
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao Paolo

    Ho provato i file che hai segnalato ma non funzionano nè su Flash CS6 nè in rete.

    Pare che i player video in AS2 non funzionano più con i video importati da youtube:

    https://developers.google.com/youtub...ence_as2?hl=es

    Credo che non ti rimane che convertire il filmato principale in AS3 oppure, scaricarti i video che ti servono, metterli in una cartella e visualizzarli sul player video di Flash o su un player personalizzato.
    In questo modo avresti il vantaggio di evitare la pubblicità da youtube e tutti i vari link a altri video o pagine che non centrano nulla con il tuo sito.

    ciao

  7. #7
    Ciao Sleter,
    ho provato a leggere un pò di guide su AS3 ma la cosa va studiata con calma e dall'inizio.
    Non facendolo come attività principale, per convertire tutto in AS3 mi ci vuole del tempo per cui per il momento ho pubblicato una versione con streaming dal server..... Nei prossimi giorni cercherò di personalizzare la Skin del Player e per ora lo teniamo così.... ;-)


    Grazie di tutto!


    Ciao!


    Paolo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.