Comunidad de diseño web y desarrollo en internet online

No entra al onMetaData

Citar            
MensajeEscrito el 15 Ene 2007 10:13 pm
Esta vez me tocó hacer otro player de video, pero esta vez el méndigo evento onMetaData del stream de video nunca es llamado

Código :

//crea conexion para video
var vidConexion:NetConnection=new NetConnection();
vidConexion.connect(null);
//crea streaming para video
var vidStream:NetStream=new NetStream(vidConexion);
//carga el video .FLV  al objeto video
video.attachVideo(vidStream);
vidStream.setBufferTime(1.000000E-001);
var duracionVid;

//propiedad metadata usada para saber la duracion del video a reproducir
vidStream.onMetaData = function(metadata) {
   trace("duracion del FLV : "+metadata.duration+" seg.");
   duracionVid = metadata.duration;
};
.
.
.
var timerVideoStatus = setInterval(movePositionKnob, 100);
//funcion para mover la posicion del knob para recorrer el video
function movePositionKnob() {
   //tiempo transcurrido
   tTranscurrido = vidStream.time;
   ancho = mBarraPos._width;
   //posicion actual para el knob de tiempo
   posKnob = tTranscurrido* ancho/duracionVid;
   bKnob._x =posKnob +mBarraPos._x;
   //en caso de que el video termine
   if (Math.round(tTranscurrido) == Math.round(duracionVid) && tTranscurrido>0 && duracionVid>0) {
      vidStream.pause();
   }
}
//funcion para ajustar la posicion (a los cuantos segundos)en el video
function posicionaVideo() {
   var pos = (duracionVid* (bKnob._x-mBarraPos._x))/mBarraPos._width;
   vidStream.seek(Math.floor(pos));
}
.
.
.


bKnob.onPress = function() {
   clearInterval(timerVideoStatus);
   intervalPos = setInterval(_root, "posicionaVideo", 10);
   startDrag(this, true, mBarraPos._x, this._y, mBarraPos._width+mBarraPos._x, this._y);
}
bKnob.onRelease = bKnob.onReleaseOutside=function () {
   clearInterval(intervalPos);
   timerVideoStatus = setInterval(_root, "movePositionKnob", 100);
   stopDrag();
}


Sí me reproduce el video, lo que no logro es obtener la duración, de la cual dependo para mover el desplazador en el tiempo, así que no logro hacer que se mueva ese botoncito conforme avanza la película, así como tampoco que al arrastrarlo me lleve a una posición en el tiempo del video

Me huele a que me estoy ahogando en un vaso de agua, help !
. :crap:

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Ene 2007 06:23 pm
Ouh!

Este era el problema:

Antes...

Código :

//---------------------------------------
//    Iniciar
//---------------------------------------
      vidStream.play(vidPath);
     vidStream.seek(1);
     vidStream.pause();
      bPlay._visible = true;
      bPause._visible = false;


Despuès...

Código :

//---------------------------------------
//    Iniciar
//---------------------------------------
      vidStream.play(vidPath);
      bPlay._visible = true;
      bPause._visible = false;   


Asi que el vidStream.seek(1); vidStream.pause(); no permitia que se ejecutara el onMetaData aún cuando había utilizado el vidStream.play(vidPath); .

Espero que a alguien le sirva de referencia cuando se llegue a atascar en un vaso de agua. :wink:

Por Rafeo

650 de clabLevel

3 tutoriales
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Ene 2007 06:26 pm
Casi olvidaba... como necesitaba que inicialmente se pausara el video, esto lo hice en la propioa función onMetaData.

Código :

//propiedad metadata usada para saber la duracion del video a reproducir
vidStream.onMetaData = function(elMetaData:Object):Void {
   trace("duracion del FLV : "+elMetaData.duration+" seg.");
   duracionVid = elMetaData.duration;
   vidStream.seek(1);       //Aqui está el dolor de cabeza 
   vidStream.pause();      //que ayer tuve
};


^^

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.