Reproducir archivos de audio con la etiqueta de audio HTML5

HTMLHTMLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo trabajar con la etiqueta de audio HTML5 para incrustar y reproducir archivos de audio directamente en páginas web. El laboratorio cubre habilidades esenciales para desarrolladores web, incluyendo la comprensión de la estructura básica de la etiqueta de audio, la configuración de controles de audio, la adición de múltiples formatos de fuente de audio, la exploración de atributos avanzados y la creación de una página web de reproductor de audio simple. A través de ejercicios prácticos, adquirirás experiencia práctica en la implementación de la funcionalidad de reproducción de audio utilizando las características nativas de HTML5 sin depender de complementos externos.

Siguiendo las instrucciones paso a paso, descubrirás cómo integrar sin problemas el contenido de audio en páginas web, personalizar los controles del reproductor de audio y garantizar la compatibilidad entre navegadores. El laboratorio proporciona una introducción integral al trabajo con elementos de audio, lo que te permite mejorar las aplicaciones web con ricas experiencias multimedia.

Comprender los conceptos básicos de la etiqueta de audio HTML5

En este paso, aprenderás los conceptos básicos de la etiqueta de audio HTML5, una función poderosa que te permite incrustar y reproducir archivos de audio directamente en páginas web sin utilizar complementos externos.

La etiqueta <audio> de HTML5 es un elemento simple pero versátil que permite a los desarrolladores web incluir contenido de audio sin problemas. Exploremos su estructura fundamental y su uso básico.

Primero, crea un nuevo archivo HTML en el directorio ~/project para demostrar la etiqueta de audio:

cd ~/project
touch audio-basics.html

Abre el archivo audio-basics.html en el WebIDE y agrega la siguiente estructura HTML básica:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML5 Audio Tag Basics</title>
  </head>
  <body>
    <h1>HTML5 Audio Tag Example</h1>

    <audio src="sample-audio.mp3"></audio>
  </body>
</html>

La etiqueta <audio> básica tiene una sintaxis simple:

  • El atributo src especifica la ruta al archivo de audio
  • Por defecto, el audio no tendrá ningún control visible para el usuario

Ejemplo de salida de la etiqueta de audio básica:

  • El archivo de audio está incrustado en la página
  • No se ven los controles de reproducción/pausa
  • El audio no se reproducirá automáticamente por defecto

Puntos clave sobre la etiqueta de audio HTML5:

  1. Admite múltiples formatos de audio (MP3, WAV, OGG)
  2. Funciona en los navegadores web modernos
  3. Proporciona una forma nativa de incrustar audio sin complementos

Cuando previes el archivo audio-basics.html en el WebIDE, verás solo una página en blanco ya que los controles del reproductor de audio no son visibles.

Notas: Aprende más sobre Cómo previsualizar archivos HTML en el WebIDE.

Configurar la etiqueta de audio con controles y fuente

En este paso, aprenderás cómo mejorar la etiqueta de audio HTML5 agregando controles y configurando la fuente de audio para brindar una mejor experiencia de usuario.

Abre el archivo audio-basics.html en el WebIDE y modifica la etiqueta de audio para incluir controles:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML5 Audio Tag with Controls</title>
  </head>
  <body>
    <h1>Audio Player with Controls</h1>

    <audio src="sample-audio.mp3" controls>
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

Modificaciones clave en este ejemplo:

  1. Se agregó el atributo controls para mostrar los controles de reproducción
  2. Se incluyó un texto de respaldo para navegadores que no admiten audio HTML5

El atributo controls proporciona una interfaz de reproductor de audio predeterminada con:

  • Botón de reproducción/pausa
  • Deslizador de volumen
  • Barra de progreso
  • Visualización de la hora actual y la duración

Exploremos opciones adicionales de configuración de la fuente:

<audio controls>
  <source src="sample-audio.mp3" type="audio/mpeg" />
  <source src="sample-audio.ogg" type="audio/ogg" />
  Your browser does not support the audio element.
</audio>

Ejemplo de diferentes configuraciones de fuente de audio:

  • Múltiples etiquetas <source> permiten la selección de formatos compatibles con el navegador
  • El atributo type especifica el tipo MIME del archivo de audio
  • Los navegadores utilizarán el primer formato admitido

Ejemplo de salida del reproductor de audio:

HTML5 audio player with controls

Haz clic en el botón de reproducción para iniciar la reproducción de audio. Asegúrate de que la pestaña del navegador esté desmuteada.

Agregar múltiples formatos de fuente de audio

En este paso, aprenderás cómo proporcionar múltiples formatos de archivos de audio para garantizar la compatibilidad entre navegadores y mejorar la confiabilidad de la reproducción de audio.

Primero, copiemos sample-audio.mp3 a diferentes formatos (music.ogg, music.wav) en el directorio ~/project:

cd ~/project
cp sample-audio.mp3 music.mp3
ffmpeg -i sample-audio.mp3 music.ogg
ffmpeg -i sample-audio.mp3 music.wav

Espera a que se complete el proceso de conversión antes de continuar.

Ahora, actualiza el archivo audio-basics.html para incluir múltiples fuentes de audio:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Multiple Audio Source Formats</title>
  </head>
  <body>
    <h1>Cross-Browser Audio Playback</h1>

    <audio controls>
      <source src="music.mp3" type="audio/mpeg" />
      <source src="music.ogg" type="audio/ogg" />
      <source src="music.wav" type="audio/wav" />
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

Puntos clave sobre múltiples fuentes de audio:

  1. Los navegadores utilizarán el primer formato compatible.
  2. Los formatos de audio comunes incluyen:
    • MP3 (audio/mpeg)
    • OGG (audio/ogg)
    • WAV (audio/wav)
  3. El orden importa: enumera primero los formatos preferidos.

Ejemplo de compatibilidad con navegadores:

  • Chrome: Prefiere MP3.
  • Firefox: Prefiere OGG.
  • Safari: Prefiere MP3.
  • El navegador seleccionará automáticamente el primer formato admitido.

Explorar atributos avanzados de la etiqueta de audio

En este paso, descubrirás atributos avanzados de la etiqueta de audio HTML5 que brindan más control sobre la reproducción de audio y la experiencia del usuario.

Actualiza el archivo audio-basics.html para demostrar atributos avanzados:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Advanced Audio Tag Attributes</title>
  </head>
  <body>
    <h1>Advanced Audio Playback Options</h1>

    <audio src="music.mp3" controls autoplay loop preload="metadata" muted>
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

Explicación de los atributos avanzados clave:

  1. autoplay: Inicia la reproducción de audio automáticamente cuando se carga la página

    • Útil para música de fondo o efectos de sonido
    • Nota: Muchos navegadores bloquean la reproducción automática por defecto
  2. loop: Repite la pista de audio continuamente

    • Genial para música de fondo o bucles de sonido
  3. preload: Especifica cómo el navegador debe cargar el audio

    • none: Sin precarga
    • metadata: Cargar solo metadatos (duración, etc.)
    • auto: Precargar el archivo de audio completo
  4. muted: Inicia el audio en estado silenciado

    • Útil para el control inicial del usuario

Ejemplo de salida de controles de audio avanzados:

HTML5 audio controls example

Crear una página web de reproductor de audio simple

En este paso, crearás una página web de reproductor de audio completa que demuestre todo lo que has aprendido sobre las etiquetas de audio HTML5.

Primero, crea un nuevo archivo llamado music-player.html en el directorio ~/project:

cd ~/project
touch music-player.html

Ahora, abre music-player.html en el WebIDE y agrega el siguiente código:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Simple Music Player</title>
    <style>
      body {
        font-family: Arial, sans-serif;
        text-align: center;
        background-color: #f4f4f4;
      }
      .player-container {
        max-width: 400px;
        margin: 50px auto;
        padding: 20px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      }
    </style>
  </head>
  <body>
    <div class="player-container">
      <h1>My Music Player</h1>

      <audio id="musicPlayer" controls>
        <source src="music.mp3" type="audio/mpeg" />
        <source src="music.ogg" type="audio/ogg" />
        Your browser does not support the audio element.
      </audio>

      <div>
        <button onclick="document.getElementById('musicPlayer').play()">
          Play
        </button>
        <button onclick="document.getElementById('musicPlayer').pause()">
          Pause
        </button>
        <button onclick="document.getElementById('musicPlayer').volume += 0.1">
          Volume Up
        </button>
        <button onclick="document.getElementById('musicPlayer').volume -= 0.1">
          Volume Down
        </button>
      </div>
    </div>

    <script>
      const player = document.getElementById("musicPlayer");
      player.addEventListener("ended", () => {
        console.log("Song finished playing");
      });
    </script>
  </body>
</html>

No te preocupes si eres nuevo en CSS y JavaScript. El código anterior es simple y fácil de entender. Incluye estilos CSS básicos para el contenedor del reproductor y un diseño responsivo. El código JavaScript agrega un detector de eventos al reproductor de audio para registrar un mensaje cuando la canción termina de reproducirse.

Características clave del reproductor de música:

  1. Diseño responsivo con estilos CSS básicos
  2. Múltiples formatos de fuente de audio
  3. Controles de audio estándar
  4. Botones personalizados de reproducción/pausa
  5. Botones de control de volumen
  6. Detector de eventos para la finalización de la canción

Ejemplo de salida en el navegador:

Simple music player webpage example

Resumen

En este laboratorio (lab), los participantes aprendieron los fundamentos de incrustar y reproducir archivos de audio directamente en páginas web utilizando la etiqueta de audio HTML5. El laboratorio guió a los aprendices a través de la comprensión de la estructura básica de la etiqueta <audio>, la configuración de los controles de audio y la exploración de varios atributos que mejoran la funcionalidad de reproducción de audio.

Los principales resultados de aprendizaje incluyeron trabajar con atributos de fuente de audio, agregar controles de reproducción, admitir múltiples formatos de audio y crear una página web de reproductor de audio simple. Los participantes adquirieron experiencia práctica en la implementación de técnicas nativas de incrustación de audio sin depender de complementos externos, demostrando la versatilidad y facilidad de uso de las capacidades de audio de HTML5 en los navegadores web modernos.