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).