Comunidad de diseño web y desarrollo en internet online

¿Como inserto el player de YouTube en una clase?

Citar            
MensajeEscrito el 22 Jun 2012 05:39 pm
Hola a todos:
A grandes rasgos mi problema es ese. Pude insertar el reproductor de YouTube sieguiendo el codigo que ofrece Google, pero en la linea de tiempo y funciona muy bien.
Mi problema es que tengo que elegir los videos segun un xml que tengo armado ya hace tiempo, es la actualizacion de un sitio. Entonces, en base a ese xml cargo todas las miniaturas del video. todo hasta ahi funciona, la carga del xml y el armado de las miniaturas estan en una clase. Ahora, ¿como puedo hacer para pasarle a la funcion de "play" del player del YouTube desde mi clase?. Intento generar otra clase para la carga del player y asi poder llamarlo desde la clase que arma las miniaturas (CargaXML.as) pero no puedo.

Les dejo el codigo, espero haya podido explicarme bien. Debajo, les dejo el error.

Clase ArmaVideo:

Código ActionScript :

package 
{
   import flash.net.NetConnection;
   import flash.net.NetStream;
   import flash.media.Video;
   import flash.net.URLLoader;
   import flash.net.URLRequest;
   import flash.display.MovieClip;
   import flash.display.Loader;
   import flash.events.Event;
   import flash.events.ProgressEvent;
   import flash.system.Security;
   public class ArmaVideo
   {
      private var player:Object;
      private var loader:Loader;
      private var videoURL:String;

      public function ArmaVideo(videoURL)
      {
         Security.allowDomain("http://www.youtube.com");
         Security.allowDomain('http://gdata.youtube.com');
         Security.allowInsecureDomain('http://gdata.youtube.com');
         Security.allowInsecureDomain('http://www.youtube.com');

         //var player:Object;
         loader = new Loader();
         //var loader:Loader = new Loader();
         loader.contentLoaderInfo.addEventListener(Event.INIT,onLoaderInit);
         loader.load(new URLRequest("http://www.youtube.com/apiplayer?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("onPlaybackQualityChange",onVideoPlaybackQualityChange);
         }

      }

      function onPlayerReady(event:Event):void
      {
         player = loader.content;
         player.x = 200;
         player.y = 200;
         player.setPlaybackQuality("large");
         player.loadVideoById("RWG1LOEytPM",0);
         trace(videoURL);
      }


El error es el siguiente:

ArmaVideo.as, Línea 35 1180: Llamada a un método addChild posiblemente no definido.


No entiendo que puede ser. Desde ya, si pudieran darma algun consejo, les estare agradecido.

STARLANCER :)

Por starlancer

59 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Jun 2012 09:02 am
el metodo addChild se hereda de la clase displayObjectContainer. Para eso tenes que extender tu clase a MovieClip o Sprite,,, segun lo que necesites.

Ejemplo:

Código ActionScript :

package  {
   
   import flash.display.MovieClip;
   
   
   public class MyClass extends MovieClip {
      
      
      public function MyClass() {
         // constructor code
      }
   }
   
}


Consejo: aprende a usar clases (herencia, interface, getters, setters, singleton, patrones) y conoce lo basico de as3 (Movieclip, Sprite, Stage, events).


Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 24 Jun 2012 06:00 pm
Gracias por tu ayuda. Solo me faltaba extender. El problema es que estoy pasando codigo a clases para comenzar a usarlas, el cambio me esta costando mucho del AS2 al AS3, al menos a mi me cuesta bastante y se me "escapan" estos errores.
Muchisimas gracias nuevamente.
STARLANCER :)

Por starlancer

59 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.