-
Atributos, Propiedades, Métodos y Eventos del elemento video HTML
-
26 de agosto de 2024
-
El elemento video es una de las características más destacadas de HTML5, ya que permite a los desarrolladores integrar videos directamente en las páginas web sin necesidad de plugins externos como Flash. A través de diversos atributos, propiedades, métodos y eventos, el elemento video ofrece un control total sobre la reproducción de contenido multimedia. En este artículo, exploraremos en detalle cada una de estas características.
Atributos del elemento video
Los atributos del elemento video definen su comportamiento y apariencia directamente desde el HTML. A continuación se enumeran todos los atributos más relevantes:
- src: Especifica la URL del archivo de video que se debe reproducir. Este atributo es opcional si se utilizan elementos 'source' dentro del 'video' .
- controls: Muestra los controles predeterminados del navegador para la reproducción, como el botón de reproducir, la barra de progreso, el control de volumen, etc.
- autoplay: Indica que el video debe comenzar a reproducirse automáticamente tan pronto como sea posible, tan pronto como se haya cargado lo suficiente.
- loop: Hace que el video se reproduzca en un bucle continuo, volviendo a empezar cuando termina.
- muted: Hace que el video se reproduzca sin sonido.
- poster: Define una imagen que se muestra mientras se carga el video o hasta que el usuario inicia la reproducción.
- preload: Sugiere al navegador cómo debe manejar la carga del video. Puede tomar los valores:
auto (precargar todo el video), metadata (solo precargar los metadatos) o none (no precargar nada).
- width y height : Especifican las dimensiones del área de visualización del video en píxeles.
- playsinline: Indica que el video debe reproducirse en línea en lugar de en modo de pantalla completa en dispositivos móviles.
Propiedades del elemento video
Las propiedades del elemento video permiten manipular el comportamiento del video mediante JavaScript. A continuación se describen las propiedades más importantes:
- currentTime: Permite obtener o establecer la posición actual de reproducción del video , en segundos. Útil para saltar a un punto específico del video .
- duration: Devuelve la duración total del video en segundos. Si la duración no está disponible, devuelve NaN.
- paused: Indica si el video está actualmente en pausa.
- ended: Indica si la reproducción del video ha terminado.
- volume: Permite obtener o establecer el nivel de volumen del video. El valor varía entre 0.0 (silencio) y 1.0 (máximo volumen).
- muted: Determina si el video está silenciado. Puede establecerse en true o false.
- playbackRate: Controla la velocidad de reproducción del video. Un valor de 1.0 representa la velocidad normal, mientras que valores menores la reducen y valores mayores la aumentan.
- readyState: Devuelve el estado de carga del video. Los posibles valores son:
0 (HAVE_NOTHING), 1 (HAVE_METADATA), 2 (HAVE_CURRENT_DATA),
3 (HAVE_FUTURE_DATA) y 4 (HAVE_ENOUGH_DATA).
- seeking: Indica si el video está en proceso de buscar una nueva posición de reproducción.
- buffered: Devuelve un objeto TimeRanges que indica las partes del video que se han almacenado en el búfer.
- videoWidth y videoHeight: Devuelven el ancho y el alto del video , respectivamente, en píxeles.
Métodos del elemento video
Los métodos del elemento video permiten a los desarrolladores controlar la reproducción del video programáticamente. Aquí se describen los métodos más utilizados:
- play() : Inicia la reproducción del video. Si el video está en pausa, este método reanuda la reproducción.
- pause(): Pausa la reproducción del video. Si el video ya está en pausa, no tiene efecto.
- load(): Recarga el video desde su origen. Esto es útil si se necesita volver a cargar un video por alguna razón.
- canPlayType(type): Devuelve un valor que indica si el navegador puede reproducir un tipo específico de archivo de video. Los valores posibles son:
"" (desconocido), "probably" (probablemente reproducible) y "maybe" (quizás reproducible).
- addTextTrack(kind, label, language): Añade una nueva pista de texto (por ejemplo, subtítulos) al video. El parámetro kind puede ser "subtitles", "captions", "descriptions", "chapters" o "metadata".
Eventos del elemento video
Los eventos del elemento video son esenciales para responder a las interacciones del usuario y los cambios de estado durante la reproducción. A continuación se detallan los eventos más comunes:
- play: Se dispara cuando el video comienza a reproducirse, ya sea por una acción del usuario o mediante el método play() .
- pause: Se dispara cuando la reproducción del video se detiene. Esto puede suceder cuando el usuario pausa el video o cuando se llama al método pause().
- ended: Ocurre cuando el video alcanza el final de su duración y deja de reproducirse.
- timeupdate: Se dispara periódicamente mientras se reproduce el video y la posición de reproducción actual cambia.
- volumechange: Ocurre cuando cambia el volumen del video o se activa/desactiva el silencio.
- loadeddata: Se dispara cuando se ha cargado lo suficiente del video como para que esté listo para comenzar la reproducción, pero antes de que se haya cargado completamente.
- loadedmetadata: Ocurre cuando se han cargado los metadatos del video (por ejemplo, la duración, las dimensiones y las pistas de texto).
- canplay : Indica que el video puede comenzar a reproducirse, pero aún no está lo suficientemente cargado como para reproducirse completamente sin pausas.
- canplaythrough: Se dispara cuando el navegador estima que el video se puede reproducir en su totalidad sin interrupciones.
- seeking: Ocurre cuando se inicia una operación de búsqueda, es decir, cuando el usuario o el script cambia la posición de reproducción.
- seeked: Se dispara cuando se completa una operación de búsqueda.
El elemento video proporciona una gran flexibilidad y control para la reproducción de video en la web. Al comprender y utilizar sus atributos, propiedades, métodos y eventos, puedes crear experiencias multimedia ricas y adaptadas a las necesidades de tus usuarios. ¡Explora todas las posibilidades que ofrece y saca el máximo provecho de esta poderosa herramienta!
Comentarios:
Sin comentarios