No he logrado reproducir siquiera el video, el problema que tengo es que no entra nunca al onMetaData. Antes el evento onMetaData lo tenía dentro de la función inicializaConexion(), ahora lo dejé así en el contructor de la clase pero me sigue sin funcionar. ¿Me brinqué algo?
Código :
import mx.utils.Delegate;
class VideoPlayer extends MovieClip{
// Movie Clip Padre
private var videoplayer:MovieClip;
// contenedor del objeto video, para poder aplicar filtros
private var contenedorVideo:MovieClip;
private var video:Video;
private var audio_mc:MovieClip;
private var audio:Sound;
private var vidConexion:NetConnection;
private var vidStream:NetStream;
private var volumen:Number;
private var videoStatus:String;
private var duracionVid:Number;
private var vidPath:String;
//_______________botones de controler_______________________
private var contenedorControles:MovieClip;
private var bPlay:MovieClip;
private var bPause:MovieClip;
private var bStop:MovieClip;
private var bFF:MovieClip;
private var bFB:MovieClip;
private var mTiempoVideo:MovieClip;
private var bScrubber:MovieClip;
private var barraPos:MovieClip;
[Inspectable(defaultValue="http://www.geelife.de/x/ash/VoodooClinton.flv")]
public function set setVidPath(rutaVideo:String):Void{
vidPath=rutaVideo;
}
public function VideoPlayer(){
trace("Se creo el video player");
videoplayer=this;
inicializaConexion();
asignafunciones();
//reproduce video
vidStream.play(vidPath);
vidStream.onMetaData = function(metadata) {
duracionVid = metadata.duration;
trace ("duracionVid = "+duracionVid);
//en caso de que este pausado el video, seguir pausado al cargar otro video
if (videoStatus=="paused"){
vidStream.seek(1);
vidStream.pause();
}
//en caso de que este en play, seguir reproduciendo en el otro video
else{
vidStream.pause(false);
}
};
}
//asigna funciones a botones de controles
private function asignafunciones(){
bPlay.onRelease=Delegate.create(this, playVideo);
bPause.onRelease=Delegate.create(this, pauseVideo);
bStop.onRelease=Delegate.create(this,stopVideo);
}
// funciones de controles
private function playVideo(){
vidStream.pause(false);
bPlay._visible = false;
bPause._visible = true;
videoStatus="playing";
trace(videoStatus);
}
private function pauseVideo(){
vidStream.pause(true);
bPause._visible = false;
bPlay._visible = true;
videoStatus="paused";
trace(videoStatus);
}
private function stopVideo(){
vidStream.pause(true);
bPause._visible=false;
bPlay._visible=true;
vidStream.seek(0);
videoStatus="stopped";
trace(videoStatus);
}
private function inicializaConexion(){
vidConexion=new NetConnection();
vidStream=new NetStream(vidConexion);
videoplayer.contenedorVideo.video.attachVideo(vidStream);
vidStream.setBufferTime(1.000000E-001);
audio_mc.attachAudio(vidStream);
audio=new Sound(audio_mc);
}
} 