RD5 GOLD WEB EDITOR
📄
📄 2-RB4-3CC.HTML
📄 222.JPG
📄 3CC-BASIC1.HTML
📄 Microsoft Paint.exe
📄 R2C-3.HTML
📄 R2C-4.HTML
📄 RB4-3C.HTML
📄 RB4-3CC.HTML
📄 RB4-RETRO.HTML
📄 RB4-RETRO.html
📄 RD5-3CC.html
📄 RL-4.html
📄 TARS.html
📄 TES10.mp3
📄 TES11.mp3
📄 TRISHA-OK.html
📄 TRISHA-WIN.HTML
📄 Tiny-demo.html
📄 Tinybj7-blindado.html
📄 Tinybj7-publica.html
📄 aplicaciones-rd5.html
📄 app1.html
📄 app2.html
📄 app3.html
📄 appb1.html
📄 appb2.html
📄 appb3.html
📄 appb4.html
📄 appb5.html
📄 appb6.html
📄 c-julio.JPG
📄 caratula.gif
📄 caratula02.gif
📄 caratula2.gif
📄 chokurei2.jpg
📄 columna-julio.html
📄 columna-stella.html
📄 columna-stellab.html
📄 demos.html
📄 df3.html
📄 dni.gif
📄 donaciones.gif
📄 ecualizador.html
📄 ed-podcast.JPG
📄 ed-radio.JPG
📄 editorv.html
📄 editorv1.html
📄 editorv2.html
📄 fondo5d.jpg
📄 fresi-clip.html
📄 gold.php
📄 gold62.php
📄 gold93.php
📄 googlefd161ffccea5f6ab.html
📄 gw.php
📄 index-anterior.html
📄 index.html
📄 index2.html
📄 logo.png
📄 logo.webp
📄 magazine.html
📄 manager3.php
📄 mic2.jpg
📄 mini1.html
📄 minib2a.html
📄 mn.php
📄 muestra.JPG
📄 p.html
📄 pm.html
📄 pm2.html
📄 pod-rd5.html
📄 podcast-stops.gif
📄 podcast2.mp3
📄 pp.html
📄 promo-tinybj7.html
📄 radio.html
📄 radio_gold.html
📄 rd5-fresia-4 canvashtml
📄 rd5-fresia-ok.html
📄 rd5-fresia.html
📄 rd5-plus-anterior.html
📄 rd5-plus.html
📄 rd5-plus2.html
📄 rd5-radioplayer.html
📄 rd5-tv.html
📄 rd5.html
📄 sst.html
📄 st.html
📄 starclip.html
📄 stella-2.JPG
📄 stella.JPG
📄 stt.html
📄 t-rd5.html.html
📄 t-rd6.html
📄 t-rd7.html
📄 t-tiny.html
📄 tes0.jpg
📄 tes1.jpg
📄 tes2.jpg
📄 tes4.jpg
📄 tes4.mp3
📄 tes5.jpg
📄 tes7.jpg
📄 tes8.jpg
📄 tienda.html
📄 tiendaaps.html
📄 tiendapps.html
📄 tiny-bj6.html
📄 tiny-bj7-full.html
📄 tiny-bj7.html
📄 tiny3-bj2.html
📄 tinybj7-blindado.html
📄 tinydemo.html
📄 titulo.jpg
📄 tnw2.html
📄 trisha-basic.html
📄 trisha-cafe.html
📄 trisha-mini.html
📄 tv-pantalla.php
📄 tv.html
📄 xdni.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>Radio RD5 - Player Final</title> <style> body{ background:#222; color:#999; font-family:monospace; padding:10px; } .panel{ display:flex; align-items:center; gap:15px; border:2px solid orange; padding:15px; background:#111; } /* PLAYER */ audio{ width:180px; height:63px; background:green; } audio::-webkit-media-controls-panel{ background:green; } /* VÚMETROS */ canvas{ background:#000; border:1px solid orange; } /* SLIDERS GRISES + BOTÓN NARANJA */ input[type=range]{ -webkit-appearance:none; width:120px; height:6px; background:#555; border:1px solid #777; } input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:16px; height:20px; background:orange; border:1px solid #000; cursor:pointer; } input[type=range]::-moz-range-thumb{ width:16px; height:20px; background:orange; border:1px solid #000; cursor:pointer; } /* CONTENEDOR SLIDERS EN LINEA */ .sliders{ display:flex; align-items:center; gap:15px; } .slider-box{ display:flex; flex-direction:column; align-items:center; font-size:12px; } </style> </head> <body> <div class="panel"> <audio id="radio" controls crossorigin="anonymous"> <source src="https://stream.zeno.fm/uqfs2e03h2zuv" type="audio/mpeg"> </audio> <canvas id="vuL" width="100" height="60"></canvas> <canvas id="vuR" width="100" height="60"></canvas> <canvas id="vumeter" width="150" height="60"></canvas> <!-- SLIDERS EN UNA SOLA LINEA --> <div class="sliders"> <div class="slider-box"> VOL <input type="range" id="volume" min="0" max="1" step="0.01" value="1"> </div> <div class="slider-box"> BASS <input type="range" id="bass" min="-20" max="20" value="0"> </div> <div class="slider-box"> TREB <input type="range" id="treble" min="-20" max="20" value="0"> </div> </div> </div> <script> // AUDIO const audio = document.getElementById('radio'); const AudioContext = window.AudioContext || window.webkitAudioContext; const ctx = new AudioContext(); const source = ctx.createMediaElementSource(audio); const analyser = ctx.createAnalyser(); // filtros const bassFilter = ctx.createBiquadFilter(); bassFilter.type="lowshelf"; bassFilter.frequency.value=200; const trebleFilter = ctx.createBiquadFilter(); trebleFilter.type="highshelf"; trebleFilter.frequency.value=3000; source.connect(bassFilter); bassFilter.connect(trebleFilter); trebleFilter.connect(analyser); analyser.connect(ctx.destination); audio.onplay =()=>ctx.resume(); volume.oninput=()=>audio.volume=volume.value; bass.oninput=()=>bassFilter.gain.value=bass.value; treble.oninput=()=>trebleFilter.gain.value=treble.value; // VÚMETROS DE AGUJA const ctxL = vuL.getContext('2d'); const ctxR = vuR.getContext('2d'); function drawNeedle(ctx,val){ ctx.clearRect(0,0,100,80); ctx.beginPath(); ctx.arc(50,50,40,Math.PI,0); ctx.strokeStyle="green"; ctx.lineWidth=4; ctx.stroke(); let ang = -Math.PI + val * Math.PI; ctx.save(); ctx.translate(50,50); ctx.rotate(ang); ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(40,0); ctx.strokeStyle="red"; ctx.lineWidth=5; ctx.stroke(); ctx.restore(); } // VÚMETRO MULTICOLOR const vuBar = vumeter.getContext('2d'); function animateMeters(){ let data = new Uint8Array(analyser.frequencyBinCount); analyser.getByteFrequencyData(data); let level = data.reduce((a,b)=>a+b) / data.length; let norm = level / 180; drawNeedle(ctxL,norm); drawNeedle(ctxR,norm); vuBar.clearRect(0,0,150,60); let width = norm * 150; let gradient = vuBar.createLinearGradient(0,0,150,0); gradient.addColorStop(0,"green"); gradient.addColorStop(0.6,"orange"); gradient.addColorStop(1,"red"); vuBar.fillStyle = gradient; vuBar.fillRect(0,5,width,50); vuBar.strokeStyle="orange"; vuBar.strokeRect(0,5,150,50); requestAnimationFrame(animateMeters); } animateMeters(); </script> </body> </html>