<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Reproductor Radio</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" rel="stylesheet">
<style>
:root {
--primary: #00c6ff;
--secondary: #0072ff;
}
body {
margin: 0;
font-family: Arial, sans-serif;
background: #111;
color: white;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.player-container {
position: relative;
width: 100%;
max-width: 400px;
background: linear-gradient(145deg, #1f2633, #2a3345);
border-radius: 25px;
padding: 30px;
text-align: center;
box-shadow:
0 0 20px rgba(0, 128, 255, 0.6),
inset 0 0 20px rgba(0, 128, 255, 0.3);
}
.led-border {
position: absolute;
top: -8px; left: -8px; right: -8px; bottom: -8px;
border-radius: 33px;
pointer-events: none;
filter: drop-shadow(0 0 15px var(--primary));
}
.led-border span {
position: absolute;
background-size: 600% 100%;
animation: ledShift 5s linear infinite;
}
.led-border .top {
top: 0; left: 0; right: 0; height: 8px;
border-radius: 25px 25px 0 0;
background: linear-gradient(90deg,#00f0ff,#0055ff,#9b00ff,#00ffa5,#00f0ff);
}
.led-border .right {
top: 0; right: 0; bottom: 0; width: 8px;
background: linear-gradient(180deg,#00f0ff,#00ffa5,#0055ff,#9b00ff,#00f0ff);
border-radius: 0 25px 25px 0;
}
.led-border .bottom {
bottom: 0; left: 0; right: 0; height: 8px;
border-radius: 0 0 25px 25px;
background: linear-gradient(90deg,#00f0ff,#9b00ff,#0055ff,#00ffa5,#00f0ff);
}
.led-border .left {
top: 0; left: 0; bottom: 0; width: 8px;
background: linear-gradient(180deg,#00f0ff,#9b00ff,#00ffa5,#0055ff,#00f0ff);
border-radius: 25px 0 0 25px;
}
@keyframes ledShift { 0% {background-position: 0% 0;} 100% {background-position: 600% 0;} }
.cover-img {
width: 100%;
border-radius: 18px;
box-shadow: 0 0 30px rgba(0, 255, 255, 0.5);
}
.player-title {
margin-top: 20px;
font-size: 1.5rem;
color: var(--primary);
font-weight: bold;
text-shadow: 0 0 10px rgba(0, 255, 255, 0.7);
}
.player-controls {
display: flex;
justify-content: center;
align-items: center;
margin-top: 25px;
gap: 20px;
}
.custom-btn {
width: 70px;
height: 70px;
background: linear-gradient(145deg, var(--primary), var(--secondary));
border: none;
border-radius: 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 15px var(--primary);
}
.custom-btn.secondary {
width: 50px;
height: 50px;
background: rgba(0,0,0,0.3);
}
.custom-btn svg {
width: 30px;
height: 30px;
fill: #002a33;
}
.custom-btn.secondary svg { fill: var(--primary); }
.volume-control {
display: flex;
align-items: center;
margin-top: 20px;
max-width: 250px;
margin-left: auto;
margin-right: auto;
}
.volume-control i { margin-right: 10px; color: var(--primary); }
.volume-slider {
flex-grow: 1;
-webkit-appearance: none;
height: 5px;
background: rgba(255,255,255,0.2);
border-radius: 5px;
}
.volume-slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 15px;
height: 15px;
border-radius: 50%;
background: var(--primary);
cursor: pointer;
}
.visualizer {
display: flex;
justify-content: center;
margin-top: 30px;
gap: 8px;
height: 40px;
align-items: flex-end;
}
.bar {
width: 8px;
background: rgba(0, 255, 255, 0.8);
border-radius: 8px;
animation: bounce 1.2s infinite ease-in-out;
}
@keyframes bounce {
0%,100% { transform: scaleY(0.4); opacity: 0.3; }
50% { transform: scaleY(1); opacity: 0.8; }
}
</style>
</head>
<body>
<div class="player-container">
<div class="led-border">
<span class="top"></span>
<span class="right"></span>
<span class="bottom"></span>
<span class="left"></span>
</div>
<img class="cover-img" src="https://i.postimg.cc/VsHfLys5/2715610-ico-1.png" alt="Radio">
<div class="player-title">KHARACHA DIGITAL</div>
<div class="player-controls">
<button class="custom-btn secondary">
<svg viewBox="0 0 24 24"><path d="M6 6h2v12H6zm3.5 6l8.5 6V6z"/></svg>
</button>
<button id="playPauseBtn" class="custom-btn">
<svg id="pauseIcon" viewBox="0 0 24 24"><rect x="5" y="4" width="4" height="16"/><rect x="15" y="4" width="4" height="16"/></svg>
<svg id="playIcon" viewBox="0 0 24 24" style="display:none;"><polygon points="5,3 19,12 5,21"/></svg>
</button>
<button class="custom-btn secondary">
<svg viewBox="0 0 24 24"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>
</button>
</div>
<div class="volume-control">
<i class="fas fa-volume-up"></i>
<input type="range" class="volume-slider" min="0" max="1" step="0.01" value="1">
</div>
<div class="visualizer">
<div class="bar"></div><div class="bar"></div><div class="bar"></div>
<div class="bar"></div><div class="bar"></div><div class="bar"></div>
</div>
<audio id="radioPlayer" autoplay>
<source src="https://stream-47.zeno.fm/jfkat6kosnkuv?zs=rHxyyQFjSyqbdEUpXiRylQ" type="audio/mpeg" />
Tu navegador no soporta audio HTML5.
</audio>
</div>
<script>
const radio = document.getElementById("radioPlayer");
const playPauseBtn = document.getElementById("playPauseBtn");
const playIcon = document.getElementById("playIcon");
const pauseIcon = document.getElementById("pauseIcon");
const volumeSlider = document.querySelector(".volume-slider");
const bars = document.querySelectorAll(".bar");
radio.volume = 1;
radio.play().catch(() => {
playIcon.style.display = "block";
pauseIcon.style.display = "none";
});
playPauseBtn.addEventListener("click", () => {
if (radio.paused) {
radio.play();
playIcon.style.display = "none";
pauseIcon.style.display = "block";
} else {
radio.pause();
playIcon.style.display = "block";
pauseIcon.style.display = "none";
}
});
volumeSlider.addEventListener("input", () => {
radio.volume = volumeSlider.value;
});
function animateBars() {
bars.forEach(bar => {
const randomHeight = Math.random() * 100;
bar.style.height = `${randomHeight}%`;
bar.style.opacity = 0.3 + (randomHeight / 100 * 0.7);
});
if (!radio.paused) requestAnimationFrame(animateBars);
}
radio.addEventListener("play", () => animateBars());
radio.addEventListener("pause", () => {
bars.forEach(bar => {
bar.style.height = "20%";
bar.style.opacity = "0.3";
});
});
</script>
</body>
</html>
888888888
mmmmmmmmm
ooooooooo
nnnnnnnnn
ttttttttt
uuuuuuuuu
eeeeeeeee
sssssssss
wwwwwwwww
hhhhhhhhh
rrrrrrrrr
fffffffff
iiiiiiiii
ddddddddd
aaaaaaaaa
yyyyyyyyy
888
mmm
ooo
nnn
ttt
uuu
eee
sss
www
hhh
rrr
fff
iii
888
mmm
ooo
nnn
ttt
uuu
eee
sss
www
hhh
rrr
fff
iii
ddd
aaa
yyy
month
88
88
day
88888
88888
GMT
88
88
hour
:
88
88
minute
:
88
88
second
am
pm