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