RD5 GOLD WEB EDITOR
π 0.gif
π 11.jpg
π 22.jpg
π AVISO-ALEX.PNG
π AVISO-ALEX2.PNG
π LOGUITO.JPG
π MUSICA.jpg
π OXODISCO-PLAY.gif
π OXODISCO2-STOP.gif
π XVOL1.gif
π XVOL2.gif
π aa4.html
π alex1.mp3
π aviso-evento.jpg
π barra0.gif
π barra1.gif
π barra2.gif
π barra3.gif
π barra4.gif
π binicio1.gif
π binicio2.gif
π canal.php.php
π centenax.gif
π click.mp3
π contacto.html
π cuenta.html
π decenax.gif
π decimax.gif
π dinero.html
π disco-c5d.html
π disco-d2.gif
π disco-oxo.gif
π disco-visitantes.html
π discob00.html
π discob000.html
π discob1.html
π donaciones.html
π donaciones.mp3
π donaciones.txt
π eliminar_video.php
π enapodcast.mp3
π eventos.html
π eventos.jpg
π filtro1.jpg
π filtro2.jpg
π fondo.jpg
π fondo2.jpg
π franja.GIF
π franja.gif
π franja2.GIF
π franja2.gif
π gold10-2.php
π gold10.php
π gold62.php
π gold93.php
π gp.php
π gw.php
π index.html
π index2.html
π index3.html
π index4.html
π logo.jpg
π manager3.php
π mdq lado 2.wav.
π meditacion-7.mp3
π mic.jpg
π minib2x2.html
π mm.php
π monitor.html
π musica.html
π oxoradio-play1.gif
π oxoradio-stop.gif
π pod-rlv.html
π pod-rlv2.html
π podcast-play.gif
π podcast-stops.gif
π podcast-visitantes.mp3
π podcast.jpg
π podcast2.jpg
π podcast2.mp3
π probando.html
π prueba.html
π prueba3.html
π publi-ing.jpg
π radio-c5d.html
π radio-rlv.html
π radio.GIF
π radio.jpg
π radio00.gif
π radio01.html
π radio02.html
π red.html
π repro2.html
π repros.html
π repros2.html
π repros4.html
π repros5.html
π repros6.html
π repros7.html
π repros8.html
π rlv-
π rlv-fresia.html
π rlv-logo2.gif
π rlv.html
π rlvv.html
π robots.txt
π rr.html
π sarita1.mp4
π sitemap.xml
π social.sqlite
π solo-podcast.html
π t-rlv.html
π titulo2.jpg
π unidadx.gif
π videos.html
π videos.jpg
π vinilo.mp3
π volumen-mas.jpg
π volumen-menos.jpg
π xrepros8.html
CΓDIGO (OSCURO GOLD)
VISTA PREVIA
πΎ GUARDAR
Tema: Monokai
Tema: Dracula
Tema: Material
Tema: Blackboard
Tema: Abyss
Monospace
Courier
12px
14px
16px
18px
20px
22px
24px
26px
28px
30px
32px
β· Rehacer
βΆ Deshacer
π BUSCAR
+ REPRO RADIO
SIG.
X
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>RD5 οΏ½ Zeno Oyente (Optimizado)</title> <style> body{ margin:0; background:#231815; color:white; font-family:Arial; } .panel{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:10px; } .fila{ display:flex; justify-content:center; align-items:center; gap:16px; width:100%; } .medidor{ width:120px; height:120px; border-radius:50%; overflow:hidden; border:6px solid #333; background:black; } #btnPlay{ width:120px; height:120px; border-radius:50%; background:black; border:6px solid #e3a465; cursor:pointer; } audio{ width:320px; max-width:100%; background:white; border-radius:8px; padding:4px; filter: invert(1) sepia(1) saturate(1) hue-rotate(-30deg) brightness(1); } .controles{ display:flex; gap:24px; } .ctrl{ display:flex; flex-direction:column; align-items:center; font-size:12px; color:white; } .ctrl div{ font-size:11px; margin-top:4px; } input[type=range]{ -webkit-appearance:none; width:90px; height:8px; background:#333; border-radius:7px; } input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:14px; height:14px; background:#e3a465; border-radius:50%; border:2px solid orange; } </style> </head> <body> <div class="panel"> <!-- FILA 1: BOTON PLAY + ESPECTRO --> <div class="fila"> <canvas id="btnPlay" width="120" height="120"></canvas> <div class="medidor"> <canvas id="spec" width="120" height="120"></canvas> </div> </div> <!-- FILA 2: REPRODUCTOR NATIVO --> <div class="fila"> <audio id="player" controls playsinline crossorigin="anonymous" src="https://stream.zeno.fm/yw17eqsypg8uv"> </audio> </div> <!-- FILA 3: CONTROLES --> <div class="fila controles"> <div class="ctrl">VOL <input id="vol" type="range" min="0" max="1" step="0.01" value="0.8"> <div id="pVol">80%</div> </div> <div class="ctrl">BASS <input id="bass" type="range" min="-15" max="15" value="0"> <div id="pBass">50%</div> </div> <div class="ctrl">TREB <input id="treb" type="range" min="-15" max="15" value="0"> <div id="pTreb">50%</div> </div> </div> </div> <script> const AC = window.AudioContext || window.webkitAudioContext; const ctx = new AC(); const player = document.getElementById("player"); const src = ctx.createMediaElementSource(player); const gain = ctx.createGain(); const bassF = ctx.createBiquadFilter(); bassF.type="lowshelf"; bassF.frequency.value=200; const trebF = ctx.createBiquadFilter(); trebF.type="highshelf"; trebF.frequency.value=3000; const analyser = ctx.createAnalyser(); const esMovil = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent); analyser.fftSize = esMovil ? 128 : 256; src.connect(bassF); bassF.connect(trebF); trebF.connect(gain); gain.connect(analyser); analyser.connect(ctx.destination); /* SLIDERS */ vol.oninput=()=>{gain.gain.value=vol.value;pVol.textContent=Math.round(vol.value*100)+"%";} bass.oninput=()=>{bassF.gain.value=bass.value;pBass.textContent=Math.round((bass.value+15)/30*100)+"%";} treb.oninput=()=>{trebF.gain.value=treb.value;pTreb.textContent=Math.round((treb.value+15)/30*100)+"%";} /* BOTON CIRCULAR PLAY */ const bCanvas = document.getElementById("btnPlay"); const bCtx = bCanvas.getContext("2d"); let playing=false; function drawBtn(){ bCtx.clearRect(0,0,120,120); bCtx.beginPath(); bCtx.arc(60,60,54,0,2*Math.PI); bCtx.fillStyle="#e3a465"; bCtx.fill(); bCtx.fillStyle="black"; if(!playing){ bCtx.beginPath(); bCtx.moveTo(48,38); bCtx.lineTo(48,82); bCtx.lineTo(82,60); bCtx.fill(); }else{ bCtx.fillRect(44,38,10,44); bCtx.fillRect(66,38,10,44); } } drawBtn(); bCanvas.onclick = async ()=>{ if(ctx.state==="suspended") await ctx.resume(); playing = !playing; playing ? player.play() : player.pause(); drawBtn(); }; /* CANVAS ESPECTRO */ const specCtx = document.getElementById("spec").getContext("2d"); const buffer = new Uint8Array(analyser.frequencyBinCount); function draw(){ if(player.paused){ setTimeout(draw,200); return; } const w = specCtx.canvas.width, h = specCtx.canvas.height; analyser.getByteFrequencyData(buffer); specCtx.clearRect(0,0,w,h); const barras = esMovil ? 16 : 32; const step = Math.floor(buffer.length / barras); const barW = w / barras; for(let i=0;i<barras;i++){ let val = buffer[i*step]/255; let barH = val*h; specCtx.fillStyle = "#e3a465"; specCtx.fillRect(i*barW, h-barH, barW-2, barH); } setTimeout(draw, esMovil ? 100 : 50); } draw(); /* DESBLOQUEO AUDIO EN MοΏ½VILES */ player.addEventListener("play", async ()=>{ if(ctx.state==="suspended") await ctx.resume(); }); </script> </body> </html>