2009-11-18 9 views
9

Hay una manera de detectar el final de la película Flash (OOTB, sin usando algún tipo de devolución de llamada flash).Detectando el final de la película Flash en javascript

Alternativamente, ¿hay alguna forma de saber la duración de la película?

Actualización:

isPlaying() parecía prometedor (comprobación periódica), pero como resulta que, nadie está creando sencillo fondos soberanos más; Ahora, el contenido está incrustado en la capa principal y mientras se reproduce el contenido, la película principal está parado y isPlaying siempre es falso ...

Respuesta

3
var movie = window.document.movie 

if(movie.TCurrentFrame("/") == movie.TotalFrames()) 
    alert("Movie Finished"); 

o podría tener:

if (!movie.IsPlaying()) 
    alert("Movie Stopped"); 

pero eso no es realmente lo que buscas

+0

Oye, ¿sabes si hay alguna documentación para esta API? –

+0

En realidad mirando hacia atrás No tengo ni idea de dónde obtuve esa información, lo siento. – SimonDever

+0

Aunque funciona en mi caso, ¿realmente depende de cómo se escribe la película flash? – Yeung

1
import fl.video.VideoEvent.COMPLETE 
video.addEventListener(VideoEvent.COMPLETE, alertHTML); 

function alertHTML(e:VideoEvent):void{ 
    ExternalInterface.call("alert(\"Video has stopped\");"); 
} 

Dale una oportunidad. Puede reemplazar el alert(\"Video has stopped\"); con su función javascript del lado del cliente.

+0

Esto es actionscript ¿verdad? Esperaba hacerlo con javascript (así que no tengo que molestar a nuestros desarrolladores de flash) – Luc

0

Puede chceck para la duración de la película con ffmpeg -i movie.flv 2>&1, pero yo duerma usted dirá:

  • el tiempo que tarda en cargar el video y empezar a jugar
  • si el usuario ha dado en el botón de 'pausa' .

En este momento, la única forma es conectar algunos controladores de Javascript a los eventos de Flash como sugieren otras publicaciones.

+0

No estaba claro en mi pregunta. Quise decir .swf tipo de película Flash no .fla uno. – Luc

Cuestiones relacionadas