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>RD5 Player One-Line</title> <style> body{ background:#000; color:#0f0; font-family:monospace; padding:15px; } /* PANEL PRINCIPAL */ .panel{ display:flex; flex-direction:row; align-items:center; gap:15px; border:2px solid orange; background:#111; padding:10px; width:fit-content; } /* CUADRITO DEL LOGO (cuadrado siempre) */ .logo-box{ width:80px; height:80px; border:2px solid orange; display:flex; align-items:center; justify-content:center; background:#000; } /* BOTÓN PLAY/PAUSE */ #playBtn{ width:70px; height:70px; border-radius:50%; border:3px solid red; color:black; background:red; cursor:pointer; font-size:17px; } #playBtn:hover{ background:#0f0; color:#000; } /* VÚMETROS */ canvas{ background:#000; border:1px solid orange; } /* CONTROLES */ .ctrl{ display:flex; flex-direction:column; font-size:12px; text-align:center; } /* === SLIDERS NARANJA === */ .ctrl input[type="range"]{ -webkit-appearance:none; width:150px; height:15px; background:#333; border-radius:6px; outline:none; overflow:hidden; border:2px solid orange; } /* pista */ .ctrl input[type="range"]::-webkit-slider-runnable-track{ height:20px; background:#222; } /* perilla */ .ctrl input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:20px; height:20px; background:orange; border-radius:50%; cursor:pointer; border:2px solid #000; box-shadow:-200px 0 0 200px orange; /* pinta el progreso en naranja */ } /* Firefox */ .ctrl input[type="range"]::-moz-range-track{ height:12px; background:#222; } .ctrl input[type="range"]::-moz-range-progress{ background:orange; height:12px; } .ctrl input[type="range"]::-moz-range-thumb{ width:16px; height:16px; background:orange; border:2px solid #000; border-radius:50%; cursor:pointer; } </style> </head> <body> <div class="panel"> <div class="logo-box"> <img src="titulo.jpg" width="170" height="70"> </div> <!-- BOTÓN --> <button id="playBtn">PLAY</button> <!-- AUDIO (oculto) --> <audio id="radio" crossorigin="anonymous"> <source src="https://stream.zeno.fm/uqfs2e03h2zuv" type="audio/mpeg"> </audio> <!-- VU AGUJA L --> <canvas id="vuL" width="90" height="50"></canvas> <!-- VU AGUJA R --> <canvas id="vuR" width="90" height="50"></canvas> <!-- VU BARRA --> <canvas id="vumeter" width="260" height="50"></canvas> <!-- CONTROLES --> <div class="ctrl"> Vol<br><input type="range" id="volume" min="0" max="1" step="0.01" value="1"> </div> <div class="ctrl"> Bass<br><input type="range" id="bass" min="-20" max="20" value="0"> </div> <div class="ctrl"> Treble<br><input type="range" id="treble" min="-20" max="20" value="0"> </div> </div> <script> // ================= AUDIO ================= const audio = document.getElementById('radio'); const playBtn = document.getElementById('playBtn'); const AudioContext = window.AudioContext || window.webkitAudioContext; const ctx = new AudioContext(); const source = ctx.createMediaElementSource(audio); const analyser = ctx.createAnalyser(); analyser.fftSize = 256; // 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(); // PLAY / PAUSE playBtn.onclick=()=>{ if(audio.paused){ audio.play(); playBtn.textContent="PAUSE"; } else { audio.pause(); playBtn.textContent="PLAY"; } }; // controles volume.oninput=()=>audio.volume=volume.value; bass.oninput=()=>bassFilter.gain.value=bass.value; treble.oninput=()=>trebleFilter.gain.value=treble.value; // ========== AGUJAS ========== const ctxL = vuL.getContext('2d'); const ctxR = vuR.getContext('2d'); function drawNeedle(ctx,val){ ctx.clearRect(0,0,100,50); ctx.beginPath(); ctx.arc(45,45,35,Math.PI,0); ctx.strokeStyle="green"; ctx.lineWidth=3; ctx.stroke(); let ang = -Math.PI + val * Math.PI; ctx.save(); ctx.translate(45,45); ctx.rotate(ang); ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(35,0); ctx.strokeStyle="red"; ctx.lineWidth=4; ctx.stroke(); ctx.restore(); } // ========== BARRA ========== const vb = vumeter.getContext('2d'); function animate(){ let data = new Uint8Array(analyser.frequencyBinCount); analyser.getByteFrequencyData(data); let level = data.reduce((a,b)=>a+b)/data.length; let norm = level/180; // agujas drawNeedle(ctxL,norm); drawNeedle(ctxR,norm); // barra vb.clearRect(0,0,160,50); vb.fillStyle="red"; vb.fillRect(0,01,norm*160,50); requestAnimationFrame(animate); } animate(); </script> </body> </html>