El Atributo ONPAUSE

El atributo onpause se utiliza para ejecutar código JavaScript cuando la reproducción de un elemento multimedia se pausa.
El atributo onpause se utiliza para ejecutar código JavaScript cuando la reproducción de un elemento multimedia se pausa. Es ideal para crear interacciones personalizadas con contenido de audio/video.
Sintaxis Básica
HTML:
<elemento-multimedia onpause="miFuncion()">
Elementos compatibles: <audio>, <video>
Ejemplos Prácticos
Control Básico de Video
HTML:
<video
id="miVideo"
src="video.mp4"
controls
onpause="mostrarMensaje()"
>
Tu navegador no soporta videos HTML5.
</video>
<script>
function mostrarMensaje() {
console.log("¡El video se ha pausado!");
alert('Video pausado ⏸️');
}
</script>
Actualizar Interfaz de Usuario
HTML:
<video id="reproductor" src="presentacion.mp4" controls onpause="actualizarBotones()"></video>
<button id="btnPlayPause">⏯️</button>
<script>
function actualizarBotones() {
const boton = document.getElementById('btnPlayPause');
boton.textContent = '▶️'; // Cambia a ícono de "play"
}
</script>
Estadísticas de Pausas
HTML:
<audio src="musica.mp3" controls onpause="contarPausa()"> </audio>
<p>Pausas realizadas: <span id="contador">0</span></p> <script> let contadorPausas = 0; function contarPausa() { contadorPausas++; document.getElementById('contador').textContent = contadorPausas; } </script>
Sistema de Comentarios en Pausa
HTML:
<video src="tutorial.mp4" controls onpause="mostrarFormularioComentario()">
</video> <div id="formComentario" style="display: none;"> <textarea placeholder="¿Por qué pausaste el video?"></textarea> <button>Enviar</button> </div> <script> function mostrarFormularioComentario() { document.getElementById('formComentario').style.display = 'block'; } </script>
Método Alternativo con JavaScript
JavaScript:
const video = document.getElementById('miVideo');
video.addEventListener('pause', () => {
console.log('Video pausado mediante addEventListener');
video.style.border = '2px solid red';
});
Casos de Uso Comunes
-
Analítica de usuario: Registrar momentos donde los usuarios pausan contenido
-
Sistemas educativos: Mostrar preguntas al pausar un video tutorial
-
Publicidad: Pausar anuncios cuando el contenido principal se detiene
-
Controles personalizados: Sincronizar botones personalizados con el estado del reproductor
Consideraciones Importantes
Diferencias entre eventos:
-
onpause: Se dispara cuando el usuario pausa manualmente -
onended: Se ejecuta cuando el media termina naturalmente
Compatibilidad:
| Navegador | Soporte |
|---|---|
| Chrome | ✅ 4+ |
| Firefox | ✅ 12+ |
| Safari | ✅ 5+ |
| Edge | ✅ 12+ |
Mejores Prácticas:
-
Combinar con
onplaypara manejar ambos estados -
Usar
event.persistedsi trabajas con caché -
Limpiar intervalos/animation frames al pausar
Ejemplo Avanzado: Playlist con Pausa Inteligente
HTML:
<div id="reproductor">
<video id="videoActual" controls onpause="siguienteVideo()"></video>
</div>
<script>
const playlist = ['video1.mp4', 'video2.mp4', 'video3.mp4'];
let indiceActual = 0;
function cargarVideo() {
const video = document.getElementById('videoActual');
video.src = playlist[indiceActual];
video.play();
}
function siguienteVideo() {
if(indiceActual < playlist.length - 1) {
indiceActual++;
cargarVideo();
}
}
// Iniciar
carggarVideo();
</script>
Conclusión
El atributo onpause es esencial para crear experiencias multimedia interactivas. Al dominar su uso puedes:
-
Mejorar la interacción del usuario
-
Recopilar datos importantes
-
Crear flujos de reproducción complejos
-
Desarrollar funcionalidades innovadoras
¡Experimenta con estos ejemplos y adapta el comportamiento a las necesidades de tu proyecto!