Cómo probarla
- Emisoras: pulsa ▶. Anterior/siguiente cambian de emisora dentro de la lista. Una emisora en directo muestra «En directo», sin duración ni avance simulados.
- Listas de emisoras (primer botón a la derecha de la barra): radio pública e independiente, Icecast con metadatos, Shoutcast, radio en HLS y una lista mixta de radio y video. Debajo siguen las listas multimedia.
- Emisoras y entradas (segundo botón): elegir una emisora, buscar por nombre y desplazarse dentro del panel.
- Ahora suena: KEXP y las emisoras Icecast con metadatos muestran el artista y la canción. Si la fuente no lo permite, se ve el nombre de la emisora.
- Aleatorio: con «siguiente» elige otra emisora al azar. Nunca cambia de emisora por su cuenta.
- Temporizador (reloj): apaga la radio tras 15–90 minutos, bajando el volumen poco a poco. «Al terminar la pista» no está disponible en directo, porque una emisión no termina.
- Video flotante: en «Radio y multimedia» o «Videos de prueba», el botón de la franja superior del video lo reduce; sigue reproduciéndose visible en la miniatura de la barra, también con YouTube. «Ampliar video», o pulsar la miniatura, lo devuelve a la ventana grande sin pausar ni reiniciar. Al contraer la barra con la X, el video se oculta y YouTube se pausa.
- Error y recuperación: en «Radio y multimedia», la última emisora no existe a propósito. Pulsa reproducir para reintentar o elige otra emisora.
- Compartir, visualizador, tus propios archivos y enlaces y el teclado funcionan igual que en la versión multimedia.
Fuentes de radio y requisitos
| Fuente | Requisitos y límites reales |
|---|---|
| Icecast / HTTP | URL directa del punto de montaje (por ejemplo …/stream), en MP3 o AAC. En una web HTTPS el stream también debe ser HTTPS: los navegadores bloquean el audio http://. Se reproduce siempre; el visualizador necesita que el servidor envíe CORS. |
| Shoutcast | URL del stream de Shoutcast DNAS v2 por HTTPS. Las estadísticas (stats, currentsong) normalmente no envían CORS, así que el navegador no puede leer la canción y se muestra el nombre de la emisora. |
| HLS (.m3u8) en directo | Nativo en Safari, Edge y Chrome recientes; en Firefox se usa hls.js (incluido), que necesita CORS. Si el stream lleva etiquetas ID3 de título/artista, se muestran. |
| «Ahora suena» | Se consulta cada 15 s, solo mientras suena:status-json.xsl de Icecast, stats de Shoutcast o la API JSON de la emisora con una plantilla. Siempre requiere CORS. Tras 3 fallos seguidos deja de consultar. No se usa ningún proxy. |
| Cortes de emisión | Si un directo se corta, se intenta reconectar como máximo 2 veces. Después se muestra el error para reintentar o elegir otra emisora. Nunca se cambia de emisora automáticamente. |
| YouTube | Al reducirlo sigue sonando en la miniatura de la barra, como en la referencia. Esa miniatura es menor que el mínimo de 200 × 200 px que piden las condiciones de YouTube (ver README). Al contraer la barra se pausa; al reproducir de nuevo continúa en el mismo punto. |
Los requisitos del resto de fuentes multimedia (MP3/MP4, podcasts, Apple Podcasts, Google Drive, S3) son los de la versión multimedia; están en el README.
Lista declarada en HTML
La tarjeta «Lista HTML» lee este marcado de la página:
- Estudio Demo — Amanecer en cuarzo
- Estudio Demo — Ondas de prueba (HLS)
- Estudio Demo — Circuito azul
Consigue los dos reproductores
Esta demo muestra Sticky Radio. El paquete incluye los dos reproductores.
Créditos
Las emisoras se escuchan directamente desde sus servidores públicos, sin copiarse ni retransmitirse. Las portadas son genéricas y propias, sin logotipos.
- Emisoras: Radio France (FIP, France Culture, France Inter), KEXP, Radio Paradise, Konga 103.7 FM, Radio Panther, Kral Türk FM, Radio Navahang y Bond 92.9 FM.
- Fuentes multimedia: Blender Foundation (CC BY), Mux, NASA y MBARI (CC BY 4.0).
— Final de la página —