piapia123
es

Generador de reproductor de música

Web

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Escribe una pista por línea (`título|url`, el título es opcional) y obtén un trozo de HTML autocontenido: un elemento `<audio>` nativo y una lista de reproducción, con los estilos en un bloque `<style>` y el comportamiento en un `<script>` corto, sin dependencias ni compilación. El elemento nativo ya te da reproducir, buscar, volumen y velocidad — volver a dibujar todo eso en JS solo lo empeoraría. El script generado inicializa todos los `.mp` de la página, así que pegar dos copias en la misma página funciona sin renombrar ids.

Funciones

  • Una pista por línea como título|url; una barra vertical de ancho completo o un tabulador también separan (métodos de entrada, tablas copiadas)
  • Salida autocontenida: un `<audio>`, una lista `<ol>`, un `<style>` y un `<script>`, sin dependencias
  • El script inicializa todos los `.mp` de la página, así que dos copias conviven
  • Pasa a la siguiente pista al terminar y se detiene en la última (o repite la pista)
  • Los títulos y las URL solo entran en atributos `data-` — los datos no pasan por el código JS, una capa menos de escapes
  • Las comillas, los ángulos y el & de títulos y URL se escapan como HTML
  • El color de acento pinta la fila seleccionada, y su color de texto se calcula como negro o blanco
  • Rechaza pseudourls como javascript: (que se escribirían tal cual en tu página)

Cómo se usa

  1. Escribe una pista por línea: título|URL de audio, o solo la URL
  2. Activa o desactiva la lista, la reproducción automática y la repetición, y elige la precarga
  3. Elige un color de acento
  4. Copia el HTML generado y pégalo donde quieras de tu página

Preguntas frecuentes

¿Por qué la reproducción automática muchas veces no hace nada?
Porque los navegadores bloquean la reproducción automática con sonido de forma predeterminada: hacer ruido sin interacción se considera molesto, y por eso esta opción viene desactivada. El código generado escribe `audio.play().catch(() => {})`, que se traga el rechazo en vez de registrar un NotAllowedError. Para que suene de verdad, añade `muted` al elemento `<audio>` (la reproducción automática silenciada sí se permite) y deja que el usuario quite el silencio.
¿Por qué no usar el soporte de varios archivos del propio audio y escribir una lista?
Porque no existe: un `<audio>` reproduce un único `src`. Ningún elemento nativo de HTML puede hacer una lista de reproducción (`<video>` tampoco). Así que la lista la maneja un script corto: pulsar una fila cambia el `src` y reproduce, y al acabar una pista avanza sola. Por eso la salida tiene que incluir un script y no solo etiquetas.
¿Se estorban dos reproductores en la misma página?
No. El script generado recorre `document.querySelectorAll(".mp")` y cada reproductor encontrado mantiene su propio audio y su lista, así que dos o diez copias funcionan por su cuenta. No se detienen entre sí cuando uno empieza; si quieres eso, añade unas líneas tú mismo: el generador no toma esa decisión por ti.
¿Hay requisitos sobre los archivos de audio?
El elemento nativo reproduce MP3, AAC/M4A, WAV, FLAC y Opus (con ligeras diferencias entre navegadores; MP3 y M4A son los más seguros). No admite protocolos de streaming (HLS / DASH): eso requiere un `<video>` y una biblioteca JS. Las URL deben ser http(s)://, `//` relativo al protocolo o una ruta relativa del mismo sitio. El audio de otro origen sí se reproduce, pero cosas como la visualización de onda necesitan que el otro extremo permita CORS.

Herramientas relacionadas