Linea de Codigo

/* Programación en la red */

  • Inicio
  • Articulos
  • Tutoriales
  • Foros
  • Lista de Correo
  • Colaborar
  • Descargas
  • Acerca de

HTML5 » Tiempo visualizado del vídeo en HTML5

Febrero 6, 2012 por Víctor Cuervo . 10 visitas 1 Comentario  Imprimir

Seguimos con el análisis del manejo de vídeos en HTML5, así como con el manejo del elemento DOM HTMLMediaElement. En este caso vamos a ver como podemos ir viendo el tiempo visualizado del vídeo en HTML5. Es decir, según vaya avanzando la visualización del vídeo, calcular los segundos que hayan transcurrido de la visualización.

Lo primero será poner el vídeo en nuestra página web.

<video id="mivideo" controls>
  <source src="easyhtml5video.com/images/happyfit2.ogv" type="video/ogg"></source>
  Tu navegador no soporta el elemento <code>video</code>
</video>

Cuándo el usuario pulse al play se irán sucediendo una serie de eventos. Uno de los eventos importantes es timeupdate. Dicho evento se envía progresivamente según avanza la visualización del vídeo. Así que tendremos que crear un listener sobre dicho evento en el vídeo.

 var v = document.getElementById("mivideo");
 v.addEventListener("timeupdate",function(ev){
  ...
 },true);

Cuándo se ejecute el método asociado al listener deberemos de acceder al atributo .currentTime del HTMLMediaElement, ya que este atributo es el que contiene el tiempo transcurrido del vídeo. Este tiempo será en segundos.

Lo que nosotros hacemos es volcar el contenido del atributo .currentTime sobre una capa. Este contenido se irá actualizando cada vez que se lance el evento timeupdate en el vídeo.

v.addEventListener("timeupdate",function(ev){
   document.getElementById("tiemposegundos").innerHTML = v.currentTime;
 },true);

Si queremos "dejarlo bonito" podemos convertir el tiempo en segundos en un formato reloj, igual que explicábamos en el artículo Convertir segundos en formato hora con Javascript.

Nosotros hemos metido este código dentro de una función que la hemos llamado hora, la cual recibe una cantidad de segundos, los cuales los devuelve en un formato hh:mm:ss.

 function hora(segundos){
  var d=new Date(segundos*1000);
  // Ajuste de las 23 horas
  var hora = (d.getHours()==0)?23:d.getHours()-1;
  var hora = (hora<9)?"0"+hora:hora;
  var minuto = (d.getMinutes()<9)?"0"+d.getMinutes():d.getMinutes();
  var segundo = (d.getSeconds()<9)?"0"+d.getSeconds():d.getSeconds();
  return hora+":"+minuto+":"+segundo;
 }

Ya solo nos quedará invocar a esta función desde el listener:

v.addEventListener("timeupdate",function(ev){
   document.getElementById("tiemposegundos").innerHTML = v.currentTime;
   document.getElementById("tiempo").innerHTML = hora(v.currentTime);
 },true);

Visualiza el artículo

Descargar el código

Error en el código

Foro sobre HTML5
tags: addEventListener, currentTime, segundos, timeupdate, video

Artículos relacionados:

  • Tiempo total de un vídeo HTML5
  • Convertir segundos en formato hora con Javascript
  • Convertir una cadena a fecha en Javascript
  • Elemento rango en formularios HTML5
  • Crear eventos con JavaScript

1 comentario »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. Bitacoras.com
    Febrero 6, 2012 #

    Información Bitacoras.com…

    Valora en Bitacoras.com: Seguimos con el análisis del manejo de vídeos en HTML5, así como con el manejo del elemento DOM HTMLMediaElement. En este caso vamos a ver como podemos ir viendo el tiempo visualizado del vídeo en HTML5. Es decir, según ……

Deje un comentario

XHTML: <a class="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*


Related searches:
tiempo formato manejo google function
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.