He cortado un fragmento rápido de Javascript que interactúa con los objetos Flowplayer Player
y Clip
para determinar el progreso del video.
var videoProgressInterval;
flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.15.swf");
flowplayer("player").onStart(startVideoProgressChecking);
flowplayer("player").onResume(startVideoProgressChecking);
flowplayer("player").onStop(stopVideoProgressChecking);
flowplayer("player").onPause(stopVideoProgressChecking);
flowplayer("player").onFinish(stopVideoProgressChecking);
function startVideoProgressChecking() {
videoProgressInterval = setInterval(checkVideoProgress, 1000);
videoProgressInterval();
}
function stopVideoProgressChecking() {
clearInterval(videoProgressInterval);
}
function checkVideoProgress() {
var time_completed = flowplayer("player").getTime();
var total_time = flowplayer("player").getClip().fullDuration;
var percent_done = Math.floor((time_completed/total_time) * 100);
console.log(percent_done + "% of video done");
}
Puedes ver una demostración en JSFiddle.
Registra los identificadores de eventos para los eventos start
y resume
del reproductor. Una vez que la reproducción del video ha comenzado, registra un intervalo que se ejecuta cada segundo (no dude en modificarlo para ejecutarlo más a menudo). El intervalo llama al checkVideoProgress()
cada vez que se ejecuta, que luego obtiene el tiempo de reproducción actual y la duración total del objeto Clip
para calcular el progreso.
Además, un controlador de eventos también se registra para los eventos stop
, pause
y finish
para borrar el intervalo una vez que el video ha sido pausado/detenido.
Pude idear un método usando cuepoints. Mi problema particular era que necesitaba determinar dinámicamente cuándo se había reproducido el video en un 25, 50 y un 75% del total. Lo primero que descubrí es que el jugador conoce la duración del video en el evento onMetaData. Esto funcionó para mí: – Lounge9
Esto funcionó * para mí: https://gist.github.com/1161365 * No funciona en iOS cuando se utiliza el complemento FP de iPad. Pero parece ser un problema más grande de FlowPlayer. – Lounge9