La Etiqueta AUDIO

Permite incrustar archivos de audio directamente en un documento HTML, sin necesidad de plugins externos.
La etiqueta <audio> permite incrustar archivos de audio (como música, podcasts o efectos de sonido) directamente en un documento HTML, sin necesidad de plugins externos.
Sintaxis básica
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
Tu navegador no soporta el elemento de audio.
</audio>
-
controls: Muestra los controles predeterminados (play, volumen, etc.). -
<source>: Especifica archivos alternativos para compatibilidad entre navegadores. -
Texto alternativo: Mensaje para navegadores antiguos que no soportan
<audio>.
Atributos principales
| Atributo | Descripción |
|---|---|
src |
Ruta del archivo de audio (si no se usa <source>) |
controls |
Muestra controles de reproducción |
autoplay |
Inicia la reproducción automáticamente (restringido en muchos navegadores) |
loop |
Reproduce el audio en bucle |
muted |
Silencia el audio por defecto |
preload |
Carga anticipada: auto, metadata (solo metadatos), none |
Ejemplos prácticos
Reproductor básico con múltiples formatos
<audio controls>
<source src="sonido.mp3" type="audio/mpeg">
<source src="sonido.ogg" type="audio/ogg">
Descarga el <a href="sonido.mp3">audio en MP3</a>.
</audio>
Audio en bucle para ambientación
<audio loop autoplay muted>
<source src="ambiente.mp3" type="audio/mpeg">
</audio>
Reproductor personalizado con JavaScript
<audio id="miAudio" src="musica.mp3"></audio>
<button onclick="document.getElementById('miAudio').play()">Play</button>
<button onclick="document.getElementById('miAudio').pause()">Pause</button>
Formatos compatibles
| Formato | Tipo MIME | Navegadores |
|---|---|---|
| MP3 | audio/mpeg |
Chrome, Firefox, Edge, Safari |
| WAV | audio/wav |
Chrome, Firefox, Edge |
| OGG | audio/ogg |
Chrome, Firefox, Edge |
| AAC | audio/aac |
Safari, Edge |
Accesibilidad
Subtítulos/transcripciones:
Usa <track> para integrar subtítulos (WebVTT):
<audio controls>
<source src="podcast.mp3" type="audio/mpeg">
<track
src="subtitulos.vtt"
kind="subtitles"
srclang="es"
label="Español"
>
</audio>
Descripción textual:
Proporciona un enlace a la transcripción si no usas <track>.
Estilización con CSS
Personaliza la apariencia del reproductor:
audio {
width: 100%;
background: #f0f0f0;
border-radius: 8px;
padding: 10px;
}
/* Estilos para navegadores WebKit (Chrome, Safari) */
audio::-webkit-media-controls-panel {
background: #2c3e50;
}
audio::-webkit-media-controls-play-button {
filter: invert(1);
}
Errores comunes
Olvidar el atributo controls:
<!-- Audio invisible sin controles -->
<audio src="sonido.mp3"></audio>
Autoplay no funcional:
Muchos navegadores bloquean autoplay sin muted o sin interacción previa del usuario.
Formatos incompatibles:
<!-- Solo MP3 no funcionará en navegadores antiguos -->
<audio controls>
<source src="audio.mp3" type="audio/mp3"> <!-- Tipo MIME incorrecto -->
</audio>
Buenas prácticas
-
Prioriza MP3: Es el formato más compatible.
-
Optimiza archivos: Usa herramientas como Audacity para reducir el peso.
-
Lazy loading: Usa
preload="none"si el audio no es esencial:
<audio controls preload="none">
<source src="audio.mp3" type="audio/mpeg">
</audio>
Compatibilidad avanzada con JavaScript
Controla el audio mediante la API de HTMLMediaElement:
const audio = document.getElementById('miAudio');
// Eventos útiles
audio.addEventListener('play', () => {
console.log('Reproduciendo...');
});
audio.addEventListener('ended', () => {
console.log('Audio finalizado');
});
// Métodos
audio.play(); // Inicia reproducción
audio.pause(); // Pausa
audio.load(); // Recarga el recurso
Diseño responsivo
Asegúrate de que el reproductor se adapte a móviles:
@media (max-width: 480px) {
audio {
min-width: 250px;
}
}
Conclusión:
La etiqueta <audio> es fundamental para integrar sonido en la web moderna. Recuerda:
-
Usar múltiples formatos para compatibilidad.
-
Priorizar la accesibilidad con subtítulos.
-
Controlar el autoplay para no molestar a los usuarios.
¡Transforma tu sitio web en una experiencia multimedia profesional!