Saltar al contenido principal

Ejercicio práctico 13: Integrar audio en HTML

Descubre cómo insertar archivos de sonido en tus páginas web utilizando la etiqueta <audio>. Este ejercicio práctico te enseña a reproducir audio en HTML con controles personalizados y compatibilidad moderna.

Actividad​

Inserta un archivo de audio usando la etiqueta <audio>. Dentro de una carpeta debes tener tu archivo HTML y tu archivo de audio, el cual puede estar en una subcarpeta. Usa preferentemente el formato mp3 ya que es más liviano y con buena calidad.

Solución interactiva​

Logo DivZone de ad link
Plataforma IAConvierte el código en clientes.Pruébalo gratis

Solución con el código HTML completo​

HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Audio Integrado</title>
</head>
<body>
<h1>Audio</h1>
<audio controls>
<source src="audio/mi_audio.mp3" type="audio/mpeg" />
Tu navegador no soporta la reproducción de audio.
</audio>
</body>
</html>

Variantes del mismo ejercicio​

Variante 1: Múltiples fuentes para máxima compatibilidad​

Cada navegador soporta distintos formatos de audio. Para asegurar que tu audio se reproduzca en todos los navegadores, proporcioná varios formatos con <source>.

HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Audio Multi-Formato</title>
</head>
<body>
<h1>Podcast</h1>

<audio controls preload="metadata">
<!-- El navegador elige el primer formato que soporte -->
<source src="audio/podcast.mp3" type="audio/mpeg" />
<source src="audio/podcast.ogg" type="audio/ogg" />
<source src="audio/podcast.wav" type="audio/wav" />

<!-- Fallback si ningún formato funciona -->
<p>
Tu navegador no soporta audio HTML5.
<a href="audio/podcast.mp3">Descargar episodio</a>
</p>
</audio>
</body>
</html>

El navegador prueba cada <source> en orden y usa el primer formato que reconoce. MP3 es el más universal, seguido de OGG (open-source) y WAV (sin comprimir, archivos muy grandes).

Variante 2: Audio de fondo ambiental​

Ideal para música de fondo en sitios web, presentaciones o experiencias inmersivas. El audio se reproduce automáticamente, en bucle y sin controles visibles.

HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Audio de Fondo</title>
<style>
body {
font-family: sans-serif;
text-align: center;
padding: 60px 20px;
}
.toggle-btn {
padding: 12px 28px;
font-size: 16px;
background: #333;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
margin-top: 20px;
}
.toggle-btn:hover {
background: #555;
}
</style>
</head>
<body>
<h1>Ambiente Sonoro</h1>
<p>Este sitio tiene música de fondo para mejorar la experiencia.</p>

<!-- autoplay: reproduce al cargar | loop: repite infinitamente | muted: requerido para autoplay -->
<audio id="audio-fondo" autoplay loop muted>
<source src="audio/ambiente.mp3" type="audio/mpeg" />
</audio>

<button class="toggle-btn" onclick="document.getElementById('audio-fondo').muted = !document.getElementById('audio-fondo').muted;">
🔇 Activar / Silenciar Música
</button>
</body>
</html>

Claves para audio de fondo:

  • autoplay solo funciona con muted en navegadores modernos
  • loop reinicia el audio automáticamente al terminar
  • Sin controls, el usuario no ve el reproductor (ideal para ambientación)
  • El botón con JavaScript permite al usuario controlar el sonido

Variante 3: Podcast con controles avanzados​

Cuando publicás episodios de podcast o audio educativo, podés usar atributos adicionales para una mejor experiencia.

HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Podcast</title>
</head>
<body>
<h1>Episodio 42: Introducción a HTML5</h1>
<p>Duración: 45 minutos | Publicado: 10 de junio 2026</p>

<audio
controls
controlsList="nodownload noplaybackrate"
preload="metadata"
>
<source src="audio/episodio-42.mp3" type="audio/mpeg" />
<source src="audio/episodio-42.ogg" type="audio/ogg" />
</audio>

<p>
<a href="audio/episodio-42.mp3" download="episodio-42-divzone.mp3">
⬇ Descargar episodio (MP3, 42 MB)
</a>
</p>
</body>
</html>

Atributos avanzados:

  • controlsList="nodownload" — oculta el botón de descarga del reproductor nativo
  • controlsList="noplaybackrate" — oculta el control de velocidad
  • preload="metadata" — solo carga la duración e información, ahorrando datos

Variante 4: Audio desde URL externa (CDN)​

Si almacenás tus archivos de audio en un CDN o servidor externo, usá la URL completa como src. Esto es común en sitios que usan servicios como Amazon S3, Cloudinary o SoundCloud.

HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Audio desde CDN</title>
</head>
<body>
<h1>Audio Externo</h1>

<!-- Usando una URL absoluta al archivo de audio -->
<audio controls>
<source
src="https://cdn.ejemplo.com/audio/podcast-semanal.mp3"
type="audio/mpeg"
/>
Tu navegador no soporta la reproducción de audio.
</audio>

<p>Este audio se carga desde un servidor externo (CDN).</p>
</body>
</html>

Usar un CDN para archivos de audio mejora la velocidad de carga al distribuir el contenido globalmente. Asegurate de que el servidor externo tenga configurados los headers CORS (Access-Control-Allow-Origin) o el audio podría no cargarse.


Buenas y Malas Prácticas​

✅ Buena práctica❌ Mala práctica
Usar preload="metadata" para ahorrar ancho de bandaUsar preload="auto" si el audio pesa más de 10 MB
Ofrecer MP3 + OGG para compatibilidad cruzadaUsar solo formato WAV (archivos enormes, 10x más pesados)
Incluir un enlace de descarga como fallbackConfiar en que todos los navegadores soportan <audio>
Agregar muted cuando usás autoplayForzar autoplay sin muted (no funciona en navegadores)
Usar controlsList para limitar descargas si es necesarioNo informar la duración y tamaño del archivo al usuario

Preguntas Frecuentes (FAQ)​

¿Qué formato de audio es mejor: MP3, OGG o WAV?​

MP3 es el formato más compatible universalmente. OGG (Vorbis) es open-source y libre de patentes, soportado por todos los navegadores excepto Safari en algunas versiones antiguas. WAV no tiene compresión, por lo que los archivos pesan hasta 10 veces más — solo usalo si necesitás calidad de estudio sin pérdida.

¿Por qué mi audio no se reproduce en Safari?​

Safari tiene restricciones estrictas con autoplay y a veces no soporta OGG. Para máxima compatibilidad: 1) poné MP3 como primer <source>, 2) no uses autoplay sin muted, 3) asegurate de que el servidor acepte solicitudes de rango (HTTP 206 Partial Content) para streaming.

¿Se puede proteger el audio para que no lo descarguen?​

No completamente. El atributo controlsList="nodownload" oculta el botón de descarga en Chrome, pero un usuario técnico siempre puede acceder a la URL del archivo desde el código fuente o las herramientas de desarrollo. Para protección real necesitás soluciones del lado del servidor como tokens temporales o streaming encriptado (HLS/DASH).

¿El audio en HTML afecta el SEO?​

El audio en sí no afecta directamente al SEO, pero Google puede indexar contenido de audio si está acompañado de transcripciones de texto. Para mejorar la accesibilidad y el SEO, siempre incluí un resumen o transcripción del contenido del audio en la misma página.

tip

🎵 ¿Querés saber más sobre etiquetas multimedia? Explorá Elementos y etiquetas en HTML para conocer todas las opciones de audio, video e iframe que tenés disponibles.