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 β VΓΊmetros + Player Nativo</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; } /* FILAS */ .fila{ display:flex; align-items:center; justify-content:center; gap:14px; width:100%; } /* VΓMETROS */ canvas{ background:black; border:4px solid #888; border-radius:50%; } /* Reproductor nativo */ audio{ width:90%; max-width:420px; } /* Controles */ .controles{ display:flex; gap:24px; } .ctrl{ display:flex; flex-direction:column; align-items:center; font-size:12px; color:orange; } .ctrl div{ font-size:11px; margin-top:4px; } /* Sliders */ input[type=range]{ -webkit-appearance:none; width:120px; height:8px; background:#3a2c28; border-radius:5px; } input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:14px; height:14px; background:#e3a465; border-radius:50%; border:2px solid black; } </style> </head> <body> <div class="panel"> <!-- 1Βͺ FILA: VΓMETROS --> <div class="fila"> <canvas id="vuL" width="80" height="80"></canvas> <canvas id="vuR" width="80" height="80"></canvas> </div> <!-- 2Βͺ FILA: REPRODUCTOR NATIVO --> <div class="fila"> <audio id="player" controls playsinline crossorigin="anonymous" src="https://stream.zeno.fm/yw17eqsypg8uv"> </audio> </div> <!-- 3Βͺ FILA: 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 split = ctx.createChannelSplitter(2); const aL = ctx.createAnalyser(); const aR = ctx.createAnalyser(); aL.fftSize = aR.fftSize = 256; /* Conexiones */ src.connect(bassF); bassF.connect(trebF); trebF.connect(gain); gain.connect(split); split.connect(aL,0); split.connect(aR,1); gain.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) + "%"; }; /* Desbloqueo audio en mΓ³vil */ player.addEventListener("play", async ()=>{ if(ctx.state === "suspended"){ await ctx.resume(); } }); /* VΓMETROS */ const cL = vuL.getContext("2d"); const cR = vuR.getContext("2d"); function needle(ctx,v){ const w = ctx.canvas.width; const h = ctx.canvas.height; const r = w/2 - 6; ctx.clearRect(0,0,w,h); ctx.beginPath(); ctx.arc(w/2,h/2,r,-Math.PI,0); ctx.strokeStyle="#231815"; ctx.lineWidth=30; ctx.stroke(); ctx.save(); ctx.translate(w/2,h/2); ctx.rotate(-Math.PI + v*Math.PI); ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(r,0); ctx.strokeStyle="orange"; ctx.lineWidth=4; ctx.stroke(); ctx.restore(); } /* Loop */ let lastFrame = 0; const FPS = 20; const FRAME_TIME = 1000 / FPS; function loop(now){ if(now - lastFrame < FRAME_TIME){ requestAnimationFrame(loop); return; } lastFrame = now; let L = new Uint8Array(aL.frequencyBinCount); let R = new Uint8Array(aR.frequencyBinCount); aL.getByteFrequencyData(L); aR.getByteFrequencyData(R); needle(cL, L.reduce((a,b)=>a+b)/L.length/255); needle(cR, R.reduce((a,b)=>a+b)/R.length/255); requestAnimationFrame(loop); } requestAnimationFrame(loop); </script> </body> </html>