Comunidad de diseño web y desarrollo en internet online

Componente Player de Video

Citar            
MensajeEscrito el 27 Feb 2007 01:02 am
Ando intentando de nuevo hacer un componente player de video .
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);
      
   }
}

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Feb 2007 08:01 pm
Ok, así va la clase, ya usada como componente, me carga el video más no obedece al pausar ni al parar el video, ya me cercioré de linkear los botones, sí llega a los trace mas no detiene el stream.

Así linkè los botones :

Para el pausa

Código :

     Identifier:   videoplayer.contenedorControles.bPause
     AS 2 Class :  VideoPlayerQ
   


Código :

import mx.utils.Delegate;
class VideoPlayerQ 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]
   public function set setVidPath(rutaVideo:String):Void{
      vidPath=rutaVideo;
   }
   
   public function VideoPlayerQ(){
      trace("Se creo el video player");
      videoplayer=this;
       inicializaConexion();
      //reproduce video
      vidStream.play(vidPath);
      inicializaEstadosControles();
      asignafunciones();

   }
   
    //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(){
         // no pausa
     vidStream.pause(true);
         bPause._visible = false;      
     bPlay._visible = true;
     videoStatus="paused";
          // si muestra el mensaje "paused"
       trace(videoStatus);
   }
    private function stopVideo(){
         // no me pausa
     vidStream.pause(true);
     bPause._visible=false;
     bPlay._visible=true;
          // no se devuelve al ppio del video
     vidStream.seek(0);
     videoStatus="stopped";
         // si muestra el mensaje "stopped"
     trace(videoStatus);     
   }
   
   private function inicializaConexion(){
      vidConexion=new NetConnection();
      vidConexion.connect(null);
      vidStream=new NetStream(vidConexion);
      videoplayer.contenedorVideo.video.attachVideo(vidStream);
      vidStream.setBufferTime(1.000000E-001);
      audio_mc.attachAudio(vidStream);
      audio=new Sound(audio_mc);
      
      vidStream.onMetaData = function(metadata) {
          duracionVid = metadata.duration;
        trace ("duracionVid = "+duracionVid);
       };
      
      vidStream.onStatus=function(metadata){
         for (var propiedad in metadata) {
              trace("\t"+propiedad+":\t "+metadata[propiedad]);
           }
      }
   }
   
     private function inicializaEstadosControles(){
       bPlay._visible=false;
       bPause._visible=true;
    }
}



Ayuda porfavor. :crap:

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Feb 2007 09:23 pm
Ya dí con el clavo, cuestión de scopes.

Para pausar:

Código :

 _parent.videoplayer.vidStream.pause(true);      


:lol:

Espero le sea últil a más de 1. :D

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox

 

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