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" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>Autoestéreo RD5 - Fondo Negro</title> <style> :root { --bg: #000; --red: #e11; --panel: #000; /* ahora carcaza negra */ --panel2: #111; /* display oscuro */ --panel3: #222; /* vumetro */ } html, body { height: 100%; margin: 0; background: var(--bg); font-family: "Courier New", monospace; color: var(--red); } #autostereo { position: absolute; top: 10px; left: 10px; background: var(--panel); border: 2px solid black; border-radius: 10px; padding: 12px 16px; display: flex; align-items: center; gap: 14px; height: 128px; box-sizing: border-box; } button#playBtn { background: black; border: 2px solid var(--red); color: var(--red); border-radius: 50%; width: 70px; height: 70px; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; } #autoLed { width: 12px; height: 12px; border-radius: 50%; background: #330; border: 2px solid #440; box-shadow: none; transition: box-shadow 0.15s linear; margin-left: 6px; } #autoLed.active { background: #2bff6b; box-shadow: 0 0 8px #2bff6b66; } #display { font-size: 20px; background: var(--panel2); padding: 8px 14px; border: 2px solid var(--red); border-radius: 8px; letter-spacing: 3px; width: 108px; text-align: center; } #vumeter { width: 140px; height: 38px; background: var(--panel3); border: 2px solid var(--red); border-radius: 6px; overflow: hidden; } .bar { height: 100%; background: var(--red); width: 0%; transition: width 0.05s linear; } .knob-container { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 70px; } .knob { width: 56px; height: 56px; border: 2px solid var(--red); border-radius: 50%; background: radial-gradient(circle at 30% 30%, #600, #200); position: relative; touch-action: none; display: flex; align-items: center; justify-content: center; transform: rotate(-135deg); transition: transform 0.1s linear; } .knob::after { content: ''; position: absolute; top: 10px; left: 27px; width: 3px; height: 14px; background: var(--red); border-radius: 2px; transform-origin: bottom center; } .label { font-size: 13px; text-align: center; color: var(--red); } .small { font-size: 11px; opacity: 0.9; } @media (max-width: 520px) { #autostereo { transform: scale(0.95); padding: 8px; gap: 10px; height: 110px; } .knob-container { width: 60px; } } </style> </head> <body> <div id="autostereo"> <button id="playBtn">▶</button> <div id="autoLed"></div> <div id="display">00:00.0</div> <div id="vumeter"><div class="bar" id="bar"></div></div> <div class="knob-container"> <div class="knob" id="volKnob"></div> <div class="label small">Volumen</div> </div> <div class="knob-container"> <div class="knob" id="bassKnob"></div> <div class="label small">Graves</div> </div> <div class="knob-container"> <div class="knob" id="trebleKnob"></div> <div class="label small">Agudos</div> </div> </div> <audio id="player" crossorigin="anonymous" src="https://stream.zeno.fm/cen27e03h2zuv"></audio> <script> const audio=document.getElementById('player'); const playBtn=document.getElementById('playBtn'); const display=document.getElementById('display'); const bar=document.getElementById('bar'); const autoLed=document.getElementById('autoLed'); let running=false, startTime=0, displayTimer=null, ledInterval=null; const ctx=new (window.AudioContext||window.webkitAudioContext)(); const src=ctx.createMediaElementSource(audio); const bassFilter=ctx.createBiquadFilter(); bassFilter.type='lowshelf'; bassFilter.frequency.value=200; bassFilter.gain.value=0; const trebleFilter=ctx.createBiquadFilter(); trebleFilter.type='highshelf'; trebleFilter.frequency.value=3000; trebleFilter.gain.value=0; const gainNode=ctx.createGain(); gainNode.gain.value=0.6; src.connect(gainNode); gainNode.connect(ctx.destination); const analyser=ctx.createAnalyser(); analyser.fftSize=1024; gainNode.connect(analyser); const byteData=new Uint8Array(analyser.frequencyBinCount); function createKnob(id,min,max,onChangeVisual,onUserApply){ const el=document.getElementById(id); let value=(max-min)/2; el.style.transform=`rotate(${((value-min)/(max-min))*270-135}deg)`; el._value=value; const setVisual=(v)=>{ value=Math.max(min,Math.min(max,v)); const angle=((value-min)/(max-min))*270-135; el.style.transform=`rotate(${angle}deg)`; el._value=value; if(onChangeVisual) onChangeVisual(value); }; el.addEventListener('wheel',e=>{ e.preventDefault(); const step=(e.deltaY<0)?3:-3; setVisual(value+step); if(onUserApply) onUserApply(value+step); }); let touchStartY=null; el.addEventListener('touchstart',e=>{ touchStartY=e.touches[0].clientY; }); el.addEventListener('touchmove',e=>{ const dy=touchStartY-e.touches[0].clientY; if(Math.abs(dy)>1){ setVisual(value+dy*0.4); if(onUserApply) onUserApply(value+dy*0.4); touchStartY=e.touches[0].clientY; } }); el.setVisual=setVisual; return el; } const volKnob=createKnob('volKnob',0,100,null,v=>{ gainNode.gain.value=v/100; }); const bassKnob=createKnob('bassKnob',0,100,null,v=>{ bassFilter.gain.value=(v-50)*0.8; }); const trebleKnob=createKnob('trebleKnob',0,100,null,v=>{ trebleFilter.gain.value=(v-50)*0.8; }); src.disconnect(); src.connect(bassFilter).connect(trebleFilter).connect(gainNode).connect(ctx.destination); function updateVumeter(){ analyser.getByteFrequencyData(byteData); let sum=0; for(let i=0;i<byteData.length;i++) sum+=byteData[i]; let pct=Math.min(100,(sum/byteData.length)/2.55); bar.style.width=pct+'%'; if(running) requestAnimationFrame(updateVumeter); } function updateDisplay(){ if(!running)return; const elapsed=Date.now()-startTime; const s=Math.floor(elapsed/1000); const mins=Math.floor(s/60); const secs=s%60; const dec=Math.floor((elapsed%1000)/100); display.textContent=`${String(mins).padStart(2,'0')}:${String(secs).padStart(2,'0')}.${dec}`; } async function calibrateVisual(duration=1000){ if(ledInterval) clearInterval(ledInterval); let on=true; ledInterval=setInterval(()=>{ autoLed.style.background=on?'#2bff6b':'#330'; on=!on; },200); return new Promise(res=>setTimeout(()=>{ clearInterval(ledInterval); autoLed.style.background='#330'; res(); },duration)); } playBtn.onclick=async()=>{ if(!running){ await ctx.resume(); await audio.play(); running=true; playBtn.textContent='❚❚'; startTime=Date.now(); displayTimer=setInterval(updateDisplay,100); updateVumeter(); calibrateVisual(1000); }else{ audio.pause(); running=false; playBtn.textContent='▶'; clearInterval(displayTimer); bar.style.width='0%'; if(ledInterval) clearInterval(ledInterval); autoLed.style.background='#330'; } }; volKnob.setVisual(60); bassKnob.setVisual(50); trebleKnob.setVisual(50); </script> </body> <br> </html>