Comunidad de diseño web y desarrollo en internet online

No consigo pasar un valor a una clase

Citar            
MensajeEscrito el 14 Abr 2014 10:05 am
Buenas otra vez.

Resulta que estoy ordenando un poco el código del reproductor en el que estoy trabajando y me he encontrado con un error un poco extraño ( a mí modo de ver).

Resulta que estoy pasando un String con una función publica a mi clase para almacenar ese valor en la propiedad $__videoCharge:String;

Pero dicha asignación no se cumple y no se el porque agradecería si pudieseis darle un vistazo al código y ver si estoy haciendo algo mal.

Este es el código de la clase.

La función en particular es public function videoUrl(value:String).

Al hacer un trace de dicha variable desde la función CreateVideo esta me devuelve null.

Pero haciendo este mismo trace en la public function videoUrl(value:String) del value veo el string lo que me indica que a la función la cadena le llega.

Código ActionScript :

package  com.reproductor{
   
   import flash.display.*;
   import flash.media.*;
   import flash.net.*;
   import flash.utils.*;
   import flash.events.*;
   import flash.display.*;
   import flash.text.*;
   
   public class viwom extends MovieClip{

         //Elementos del reproductor
         private var fullScreen:SimpleButton;
         private var escenario:Stage;
         private var Bar_mc:MovieClip;
         private var BufferBar_mc:MovieClip;
         private var ProgressBar:MovieClip;
         private var Altavoz:SimpleButton;
         private var mute:MovieClip;
         private var mc_sound:SimpleButton;
         private var mc_soundLevel:SimpleButton;
         private var playBtn:SimpleButton;
         private var pauseBtn:SimpleButton;
         private var fondoBase:MovieClip;
         private var BarraNav:MovieClip;
         
         //Objetos necesario para el reproductor.
         private var $__nc:NetConnection;
         private var $__ns:NetStream;
         private var $__video:Video;
         private var $__posterLoad:Loader;
         private var $__posterURL:URLRequest;
         private var $__Sonido:SoundTransform;
         private var $__tmpVideo:TextField;
         private var $__tmpProgress:TextField;
         private var $__elementos:Array;
         
         //Propiedades externas.
         private var $__videoCharge:String;
         private var $__Poster:String;
         private var $__loop:String;
         private var $__autoplay:String;
         
      public function viwom(timeLine:MovieClip) {
         //Contructor
         this.fullScreen = timeLine.FullScreen;
         this.escenario = timeLine.stage;
         this.Bar_mc = timeLine.Bar_mc;
         this.BufferBar_mc = timeLine.BufferBar_mc;
         this.ProgressBar = timeLine.ProgressBar_mc;
         this.Altavoz = timeLine.Altavoz;
         this.mute = timeLine.Mute;
         this.mc_sound = timeLine.mc_Sound;
         this.mc_soundLevel = timeLine.mc_SoundLevel;
         this.playBtn = timeLine.PlayBtn;
         this.pauseBtn = timeLine.PauseBtn;
         this.fondoBase = timeLine.FondoBase;
         this.BarraNav = timeLine.BarraNav;
         
      }
      
      public function CreateVideo():void{
         $__nc = new NetConnection();
         $__nc.connect(null);
         
         $__ns = new NetStream($__nc);
         $__ns.client = onMetaData;
         
         $__video = new Video();
         $__video.attachNetStream($__ns);
         escenario.addChild($__video);
         trace($__videoCharge);
      }
      
      public function init():void{
         
      }
      
      //Ordenamos los elementos en el stage.
      public function OrdenarElementos():void{         
         escenario.addChild(this.fondoBase);
         escenario.addChild(this.BarraNav);
         escenario.addChild(this.Bar_mc);
         escenario.addChild(this.BufferBar_mc);
         escenario.addChild(this.ProgressBar);
         escenario.addChild(this.fullScreen);
         escenario.addChild(this.Altavoz);
         escenario.addChild(this.mute);
         escenario.addChild(this.mc_sound);
         escenario.addChild(this.mc_soundLevel);
         escenario.addChild(this.playBtn);
         escenario.addChild(this.pauseBtn);
                  
      }
      
      //Parametros externos.
      public function set videoUrl(value:String):void{
         this.$__videoCharge = value; //Url del video
      }
      
      public function set Poster(value:String):void{
         this.$__Poster = value;   //Url Poster
      }
      
      public function set Loop(value:String):void{
         this.$__loop = value;      //Propiedad de loop
      }
      
      public function set Autoplay(value:String):void{
         this.$__autoplay = value;   //Autoplay
      }
      
      //Metadatos
      private function onMetaData(info:Object):void{
         trace(info.duration);
      }
   
   }
   
}


Y este es el código que estoy usando en la linea de tiempo para agregarle la cadena.

Código ActionScript :

import com.reproductor.viwom;

var video:viwom   = new viwom(this);

video.CreateVideo();
video.init();
OrdenarElementos();
video.OrdenarElementos();

video.videoUrl = 'http://www.viwomail.es/video/front/viwomail/video_viwomail/video_viwomail.mp4';
video.Poster = '';
video.Loop = '';
video.Autoplay = '';

function OrdenarElementos():void{
         removeChild(FullScreen);
         removeChild(Bar_mc);
         removeChild(BufferBar_mc);
         removeChild(ProgressBar_mc);
         removeChild(Altavoz);
         removeChild(Mute);
         removeChild(mc_Sound);
         removeChild(mc_SoundLevel);
         removeChild(PlayBtn);
         removeChild(PauseBtn);
         removeChild(FondoBase);
         removeChild(BarraNav);         
      }


Gracias a todos (estoy aprendiendo mucho de vosotros).

Por tecnoendika

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Abr 2014 10:28 am
Me auto respondo no me he dado cuenta de que las variables las he declarado después que el trace.

Por tecnoendika

15 de clabLevel



 

firefox

 

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