Radioactiva - La Madre de Todas las Radios
RADIOACTIVA
🎵
EN VIVO
Cargando programación...
104.7 FM
🎸 Rock en Vivo
Los mejores riffs de la historia del rock clásico
Descubre la selección definitiva de los solos y riffs que definieron el rock. Desde Led Zeppelin hasta AC/DC.
Leer más
🎤 Entrevistas
Entrevista exclusiva con la banda más hot del momento
Hablamos en exclusiva con los artistas que están rompiendo todos los récords este año.
Ver entrevista
🏆 Top 20
El Top 20 de la semana: vota por tu canción favorita
Esta semana el ranking está más reñido que nunca. ¡Tu voto puede cambiar todo!
Ver ranking
ÚLTIMA HORA
Nuevo álbum de Foo Fighters ya disponible en todas las plataformas
Radioactiva cumple 27 años al aire siendo la voz del rock
Concurso: Gana entradas dobles para el festival de verano
Top 5 canciones más escuchadas de la semana reveladas
Metallica anuncia gira por Latinoamérica para el próximo año
El Gallo Morning Show nuevo récord de audiencia este mes
[ Espacio Publicitario — 970 × 90 ]
Hace 2 horas
4.2K vistas
38 comentarios
The Rolling Stones lanza material inédito grabado en los 70s que nunca había visto la luz
Los archivos históricos de la banda revelan sesiones de grabación nunca escuchadas, con canciones que quedaron fuera de sus álbumes más icónicos. Un regalo para los fans más fanáticos del rock.
Hace 4h
Exclusiva: así fue la sesión de grabación del nuevo álbum de Coldplay
Chris Martin nos abre las puertas del estudio y habla del proceso creativo.
Ayer
Grammy Latinos 2025: la lista completa de nominados ya está disponible
Grandes sorpresas en las nominaciones de este año con nuevos artistas emergentes.
Spotify revela las canciones de rock más escuchadas en el mundo durante 2025
Hace 6 horas · Rock · 3.1K vistas
Dave Grohl regresa al escenario con una emotiva actuación sorpresa en festival
Hace 8 horas · Noticias · 5.8K vistas
Festival Rock al Parque anuncia su lineup completo con 40 bandas confirmadas
Hace 10 horas · Eventos · 9.2K vistas
Ozzy Osbourne recibe el Globo de Oro por su trayectoria artística
Hace 12 horas · Rock Clásico · 7.4K vistas
El vinilo regresa: las ventas de discos físicos superan al CD por primera vez desde los 80s
Ayer · Industria · 2.6K vistas
Lun – Vie · 6:00 – 10:00
El Gallo
con Felipe Arias y Marisol García
Lun – Vie · 10:00 – 13:00
El Clásico
con Carlos Mejía
Lun – Vie · 13:00 – 16:00
La Hora Pico
con Sandra Vega
Lun – Vie · 16:00 – 19:00
Tarde Rock
con Ramón Herrera
Lun – Jue · 22:00 – 00:00
La Noche Más Rock
con DJ Ramirez
Sáb · 20:00 – 00:00
El Experimento
con Javi & Moy
Hora
Programa
Locutor
Estado
06:00 – 10:00
El Gallo Morning Show
Felipe Arias & Marisol García
● Al Aire
10:00 – 13:00
El Clásico Radioactivo
Carlos Mejía
Próximo
13:00 – 16:00
La Hora Pico
Sandra Vega
Próximo
16:00 – 19:00
Tarde Rock
Ramón Herrera
Próximo
19:00 – 22:00
Máxima Potencia
Lorena Paz
Próximo
22:00 – 00:00
La Noche Más Rock
DJ Ramirez
Próximo
El Gallo
Entrevista completa con Eddie Vedder — Retrospectiva 30 años de Pearl Jam
Lunes 13 May
12.4K
1:24:07
El Experimento
Los 10 álbumes que todos los rockeros deben escuchar antes de morir
Sáb 11 May
8.9K
0:58:33
Tarde Rock
Rock en español: cómo los 90s cambiaron para siempre la música latina
Vie 10 May
6.1K
1:07:45
// ── Parrilla de programas (días: 0=Dom,1=Lun,2=Mar,3=Mié,4=Jue,5=Vie,6=Sáb)
// Puedes poner logo: URL de imagen, o emoji como texto plano
const SCHEDULE = [
{ name:'El Gallo Morning Show', host:'Felipe Arias & Marisol García', start:6, end:10, days:[1,2,3,4,5], logo:'🐓', color:'#b33000' },
{ name:'El Clásico Radioactivo', host:'Carlos Mejía', start:10, end:13, days:[1,2,3,4,5], logo:'🎸', color:'#003060' },
{ name:'La Hora Pico', host:'Sandra Vega', start:13, end:16, days:[1,2,3,4,5], logo:'⚡', color:'#405000' },
{ name:'Tarde Rock', host:'Ramón Herrera', start:16, end:19, days:[1,2,3,4,5], logo:'🎙️', color:'#300050' },
{ name:'Máxima Potencia', host:'Lorena Paz', start:19, end:22, days:[1,2,3,4,5], logo:'🔊', color:'#003040' },
{ name:'La Noche Más Rock', host:'DJ Ramirez', start:22, end:24, days:[1,2,3,4,5], logo:'🌙', color:'#100030' },
{ name:'El Experimento', host:'Javi & Moy', start:20, end:24, days:[6], logo:'🔥', color:'#301000' },
{ name:'Rock Fin de Semana', host:'Varios Artistas', start:10, end:20, days:[0,6], logo:'🎵', color:'#202020' },
];
// ── Fuente de noticias RSS (usa un proxy CORS-safe)
// Por defecto: Noticias de música vía RSS2JSON (gratis, sin registro)
// Cambia la URL entre comillas por el feed RSS de tu radio o temática
const RSS_FEED_URL = 'https://feeds.bbci.co.uk/mundo/rss.xml';
// Categorías para el badge de cada noticia (se asignan por turno)
const CATEGORIAS = ['Música','Rock','Noticias','Eventos','Entrevistas','Tendencias'];
// Iconos para las miniaturas de noticias (cuando no hay imagen en el feed)
const ICONS_NEWS = ['fa-music','fa-guitar','fa-microphone','fa-drum','fa-compact-disc','fa-headphones','fa-record-vinyl','fa-star'];
// ════════════════════════════════════════════════════
// ══ FIN ZONA DE CONFIGURACIÓN ══
// ════════════════════════════════════════════════════
// ─── DATE ───
const days = ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'];
const months = ['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'];
const now = new Date();
document.getElementById('topDate').textContent =
`${days[now.getDay()]}, ${now.getDate()} de ${months[now.getMonth()]} de ${now.getFullYear()}`;
// ─── PLAYER ───
const audio = document.getElementById('radioAudio');
const playBtn = document.getElementById('playBtn');
const playIcon = document.getElementById('playIcon');
let playing = false;
const tracks = [
'Bohemian Rhapsody — Queen',
'Stairway to Heaven — Led Zeppelin',
'Back In Black — AC/DC',
'Hotel California — Eagles',
'Smells Like Teen Spirit — Nirvana',
'Sweet Child O\' Mine — Guns N\' Roses'
];
let tIdx = 0;
function togglePlay() {
playing = !playing;
if (playing) {
playIcon.className = 'fas fa-pause';
playBtn.classList.add('playing');
document.getElementById('npAlbum').classList.add('spinning');
} else {
playIcon.className = 'fas fa-play';
playBtn.classList.remove('playing');
document.getElementById('npAlbum').classList.remove('spinning');
}
}
function setVolume(v) { audio.volume = v / 100; }
function rotateTrack() {
tIdx = (tIdx + 1) % tracks.length;
const parts = tracks[tIdx].split(' — ');
document.getElementById('currentTrack').textContent = tracks[tIdx];
document.getElementById('npTitle').textContent = parts[0];
document.getElementById('npArtist').textContent = parts[1] || '';
}
setInterval(rotateTrack, 8000);
document.getElementById('currentTrack').textContent = tracks[0];
// ─── VISUALIZER ───
const viz = document.getElementById('npViz');
for (let i = 0; i < 16; i++) {
const b = document.createElement('div');
b.className = 'np-bar';
const h = Math.floor(Math.random() * 20) + 4;
const d = (Math.random() * 0.6 + 0.3).toFixed(2);
b.style.cssText = `--h:${h}px; --d:${d}s; height:${Math.floor(Math.random()*14)+4}px`;
viz.appendChild(b);
}
// ─── ON AIR PROGRAM (basado en parrilla real) ───
function getCurrentProgram() {
const t = new Date();
const hNow = t.getHours() + t.getMinutes() / 60;
const dayNow = t.getDay();
return SCHEDULE.find(p => p.days.includes(dayNow) && hNow >= p.start && hNow < p.end) || null;
}
function updateOnAir() {
const prog = getCurrentProgram();
const block = document.getElementById('onAirBlock');
const logoEl = document.getElementById('onAirLogo');
const nameEl = document.getElementById('onAirName');
const hostEl = document.getElementById('onAirHost');
const timeEl = document.getElementById('onAirTime');
const barEl = document.getElementById('onAirBar');
if (prog) {
// Progress bar: % of time elapsed in this show
const t = new Date();
const elapsed = (t.getHours() + t.getMinutes()/60) - prog.start;
const total = prog.end - prog.start;
const pct = Math.min(100, Math.max(0, (elapsed / total) * 100)).toFixed(1);
// Logo: if URL set it as img, otherwise show emoji
if (prog.logo && prog.logo.startsWith('http')) {
logoEl.innerHTML = `
`;
} else {
logoEl.textContent = prog.logo || '📻';
}
logoEl.style.background = prog.color || 'var(--dark3)';
nameEl.textContent = prog.name;
hostEl.textContent = prog.host;
timeEl.textContent = `${String(prog.start).padStart(2,'0')}:00 – ${prog.end === 24 ? '00' : String(prog.end).padStart(2,'0')}:00`;
barEl.style.width = pct + '%';
block.style.display = 'flex';
} else {
// No show scheduled → show generic
logoEl.textContent = '📻';
logoEl.style.background = 'var(--dark3)';
nameEl.textContent = 'Música Non-Stop';
hostEl.textContent = 'Radioactiva Online';
timeEl.textContent = 'Las 24 horas';
barEl.style.width = '100%';
block.style.display = 'flex';
}
}
updateOnAir();
// Refresh every minute
setInterval(updateOnAir, 60000);
// ─── HERO SLIDER ───
let slide = 0;
const slides = document.querySelectorAll('.hero-slide');
const dots = document.querySelectorAll('.hero-dot');
function goSlide(n) {
slides[slide].classList.remove('active');
dots[slide].classList.remove('active');
slide = n;
slides[slide].classList.add('active');
dots[slide].classList.add('active');
}
setInterval(() => { goSlide((slide + 1) % slides.length); }, 5000);
// ─── AUTO-NEWS via RSS ───
// Uses rss2json.com public API as CORS proxy (free, no key needed for low traffic)
// Also tries allorigins as fallback
function timeAgo(dateStr) {
const diff = (Date.now() - new Date(dateStr)) / 1000;
if (diff < 3600) return `Hace ${Math.floor(diff/60)} min`;
if (diff < 86400) return `Hace ${Math.floor(diff/3600)} h`;
if (diff < 172800) return 'Ayer';
return `Hace ${Math.floor(diff/86400)} días`;
}
function stripHtml(html) {
const d = document.createElement('div');
d.innerHTML = html;
return d.textContent || d.innerText || '';
}
function buildNewsCard(item, idx, big) {
const cat = CATEGORIAS[idx % CATEGORIAS.length];
const icon = ICONS_NEWS[idx % ICONS_NEWS.length];
const ago = item.pubDate ? timeAgo(item.pubDate) : 'Reciente';
const desc = item.description ? stripHtml(item.description).slice(0, 120) + '…' : '';
const link = item.link || '#';
const img = item.enclosure?.link || item.thumbnail || '';
const imgHtml = img
? `
`
: `
`;
if (big) {
return `
${ago}
${item.title || 'Sin título'}
${desc}
`;
}
return `
${ago}
${item.title || 'Sin título'}
${desc}
`;
}
function buildListItem(item, idx) {
const icon = ICONS_NEWS[idx % ICONS_NEWS.length];
const cat = CATEGORIAS[idx % CATEGORIAS.length];
const ago = item.pubDate ? timeAgo(item.pubDate) : 'Reciente';
const link = item.link || '#';
const img = item.enclosure?.link || item.thumbnail || '';
const thumbHtml = img
? `
`
: `
`;
return `
${thumbHtml}
${item.title || 'Sin título'}
${ago} · ${cat}
`;
}
async function loadNews() {
const apiUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(RSS_FEED_URL)}&count=15`;
try {
const res = await fetch(apiUrl);
if (!res.ok) throw new Error('rss2json fail');
const data = await res.json();
if (!data.items || !data.items.length) throw new Error('empty');
renderNews(data.items);
} catch(e) {
// Fallback: allorigins proxy parse manually
try {
const proxy = `https://api.allorigins.win/get?url=${encodeURIComponent(RSS_FEED_URL)}`;
const r2 = await fetch(proxy);
const d2 = await r2.json();
const parser = new DOMParser();
const xml = parser.parseFromString(d2.contents, 'text/xml');
const items = [...xml.querySelectorAll('item')].map(it => ({
title: it.querySelector('title')?.textContent,
link: it.querySelector('link')?.textContent,
description: it.querySelector('description')?.textContent,
pubDate: it.querySelector('pubDate')?.textContent,
thumbnail: it.querySelector('enclosure')?.getAttribute('url') || ''
}));
if (items.length) renderNews(items);
else showNewsError();
} catch(e2) {
showNewsError();
}
}
}
function renderNews(items) {
// Featured grid (first 3)
const featuredEl = document.querySelector('.news-featured');
if (featuredEl && items.length >= 3) {
featuredEl.innerHTML =
buildNewsCard(items[0], 0, true) +
buildNewsCard(items[1], 1, false) +
buildNewsCard(items[2], 2, false);
}
// List (next 5)
const listEl = document.querySelector('.news-list');
if (listEl && items.length > 3) {
listEl.innerHTML = items.slice(3, 8).map((it, i) => buildListItem(it, i+3)).join('');
}
// Update ticker with headlines
const ticker = document.querySelector('.ticker-text');
if (ticker && items.length) {
ticker.innerHTML = items.slice(0, 8).map(it =>
`
${it.title || ''} `
).join('');
}
}
function showNewsError() {
// Keep static content, just log
console.info('RSS no disponible – mostrando noticias de ejemplo.');
}
loadNews();
// Refresh news every 10 minutes
setInterval(loadNews, 10 * 60 * 1000);
// ─── SCROLL TO TOP ───
window.addEventListener('scroll', () => {
document.getElementById('scrollTop').classList.toggle('visible', window.scrollY > 400);
});
// ─── NAV ACTIVE ───
document.querySelectorAll('nav a').forEach(a => {
a.addEventListener('click', function(e) {
e.preventDefault();
document.querySelectorAll('nav a').forEach(x => x.classList.remove('active'));
this.classList.add('active');
});
});
!doctype>