Comunidad de diseño web y desarrollo en internet online

Saltar a otro fotograma al terminar flv

Citar            
MensajeEscrito el 23 Sep 2011 12:26 pm
Hola a todos!

He buscado por el foro y he visto varios temas, pero con ninguno he conseguido solucionar mi problema :(

Tengo un .fla en el que he metido un video .flv por código de la siguiente manera:

Código ActionScript :

var conexion:NetConnection = new NetConnection(); 
conexion.connect(null); 
var stream:NetStream = new NetStream(conexion); 
mi_video.attachVideo(stream); 
stream.play("video.flv");


Lo que quiero es que cuando el video termine, la película salte al siguiente fotograma. Lo he intentado con esto, pero no me funciona:

Código ActionScript :

var myListener = new Object(); 
myListener.complete = function(eventObject) { 
   gotoAndPlay(2);
}; 
mi_video.addEventListener("complete", myListener); 


Alguien podría ayudarme??

Muchas gracias de antemano!

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2011 02:02 pm
En este caso es un poco mas complicado, ya que no es un FLVPlayer. Tienes que escuchar al NetStream en su evento onStatus

Código ActionScript :

var onEnd:Boolean = false;

stream.onStatus = function(evt:Object):void{
   if(evt.info.code=="NetStream.Buffer.Flush"){
        onEnd = true
   } else if(evt.info.code=="NetStream.Play.Stop"){
      if(onEnd) {
        //aca tu accion al finalizar
      }
  }
} 


No puedes monitorear solo el stop porque muchas veces se agota el buffer y la preproducción se para mientras vuelve a llenar el buffer, generando un evento stop que no es de final. El flush se hace cuando termina la reproducción, con lo cual si ha ocurrido puedes asumir el stop como final de película

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos



Ultima edición por solisarg el 23 Sep 2011 05:48 pm, editado 2 veces

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2011 02:31 pm
Ojo, actualicé el code, que lo habia puesto en AS3

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2011 02:44 pm
Gracias!

Al poner el codigo (el actualizado) me da error y dice " Expected ')' or ',' " en la Segunda linea del codigo :S

Por Piterman

12 de clabLevel



 

safari
Citar            
MensajeEscrito el 23 Sep 2011 02:51 pm
Faltaba function, ya lo actualicé

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2011 04:56 pm
Me sigue dando fallo >_<

Esta vez me dice "The class or interface 'InfoObject' could not be loaded", en la misma linea de código de antes :S

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2011 05:49 pm
Decididamente ya me estoy olvidando de AS2, es Object, no InfoObject

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2011 10:24 pm
Otro error más en la misma linea de nuevo U_U

"A type identifier is expected after the ':'"

Muchisimas gracias, enserio. Siento ser tan pesado, pero relativo a flv ando bastante perdido :S

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2011 10:35 pm
Ponlo así

stream.onStatus = function(evt){

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2011 12:31 am
Ya no da fallo, pero al finalizar el video, no pasa a otro fotograma..q puede ser?

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Sep 2011 01:37 pm
Muestrame como quedó el código

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2011 01:51 pm

Código ActionScript :

stop();

var conexion:NetConnection = new NetConnection(); 
conexion.connect(null); 
var stream:NetStream = new NetStream(conexion); 
mi_video.attachVideo(stream); 
stream.play("video.flv");



var onEnd:Boolean = false; 
 
stream.onStatus = function(evt){ 
   if(evt.info.code=="NetStream.Buffer.Flush"){ 
        onEnd = true 
   } else if(evt.info.code=="NetStream.Play.Stop"){ 
      if(onEnd) { 
        gotoAndPlay(2) 
      } 
  } 
} 


Cambié lo que me dijiste, y nada. El código no reporta ningún fallo, pero al finalizar el video, no da el salto al fotograma que le indico, se queda el video finalizado simplemente.

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Sep 2011 02:04 pm
Pasa esta línea al final

stream.play("video.flv");

Y agrega un trace a ver si se ejecuta

Código ActionScript :

stream.onStatus = function(evt){  
   trace("evt: "+evt.info.code)
   (...)


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2011 03:11 pm
Nada, con esa linea al final se queda igual.

Y el trace me devuelve cinco veces esto "evt: undefined". Dos veces al principio, una casi al final, y las otras dos al final...

Por Piterman

12 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Sep 2011 03:41 pm
Ok, posiblemente en AS2 sea

evt.code

Cambia el evt.info.code en el trace por evt.code, si te traza los mensajes, luego cambia todo.

Esto me hace pensar que debo ya dejar de responder en AS2, porque me la tengo que pasar buscando en la ayuda

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2011 04:09 pm
Por fin funciona!!

Muchisimas gracias!

En efecto, era cosa del evt.code, al cambiarlo los mensajes ya no eran undefined sino "evt: NetStream.Play.Start", etc...

Y al finalizar el video, pasa al fotograma que le indico :D

Muchisimas gracias, de verdad, me has sido de mucha ayuda!!

Por Piterman

12 de clabLevel



 

chrome

 

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