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
<?php // tv.php - RD5 TV CON MARCA DE AGUA, RELOJ, PROGRESO, CONTRASTE Y FULLSCREEN ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>RD5 TV</title> <style> html, body { margin: 0; padding: 0; width: 100%; height: 100%; background: #000; overflow: hidden; font-family: 'Courier New', Courier, monospace; } #screen { width: 100vw; height: 100vh; display: flex; align-items: center; justify-content: center; background: #000; } #screen img, #screen video { width: 100%; height: 100%; object-fit: contain; transition: filter 0.1s ease; } #watermark { position: fixed; top: 20px; right: 30px; color: rgba(0, 255, 136, 0.6); font-size: 24px; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); z-index: 200; pointer-events: none; letter-spacing: 2px; } #ui { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: rgba(10, 10, 10, 0.9); padding: 12px 25px; border-radius: 6px; display: flex; align-items: center; gap: 18px; opacity: 0; transition: opacity 0.4s ease; z-index: 100; border: 1px solid #333; box-shadow: 0 0 20px rgba(0,0,0,0.8); } /* Esta es la regla clave: el hover siempre manda */ body:hover #ui { opacity: 1 !important; } #progress-container { width: 180px; height: 10px; background: #222; border: 1px solid #444; cursor: pointer; position: relative; overflow: hidden; } #progress-bar { width: 0%; height: 100%; background: #0f8; transition: width 0.1s linear; } #clock { color: #0f8; font-size: 14px; font-weight: bold; min-width: 80px; border-left: 1px solid #444; padding-left: 15px; text-align: center; } .btn { background: #222; border: 1px solid #444; color: #0f8; padding: 8px 14px; font-size: 11px; font-weight: bold; cursor: pointer; text-transform: uppercase; } .btn:hover { background: #0f8; color: #000; } .btn-pause-active { color: #ff4444; border-color: #ff4444; } .btn-fs-active { color: #fff; border-color: #fff; } .control-group { display: flex; flex-direction: column; align-items: center; gap: 2px; } .label-ui { color: #0f8; font-size: 9px; text-transform: uppercase; } input[type=range] { cursor: pointer; width: 60px; accent-color: #0f8; } #volNum, #conNum { color: #0f8; font-weight: bold; min-width: 35px; font-size: 11px; text-align: center; } #msg-inicio { color: #0f8; font-size: 18px; cursor: pointer; border: 1px solid #0f8; padding: 15px; } </style> </head> <body> <div id="watermark">RD5.TV</div> <div id="screen" onclick="comenzar()"> <div id="msg-inicio"> [ HACER CLICK EN ESTE CUADRO PARA INICIAR ] </div> </div> <div id="ui"> <button class="btn" id="btnPlayPause" onclick="togglePlay()">PAUSA</button> <button class="btn" id="btnNext" onclick="saltarSiguiente()">SIGUIENTE</button> <button class="btn" id="btnFS" onclick="toggleFullScreen()">FULL</button> <div id="progress-container" onclick="buscar(event)"> <div id="progress-bar"></div> </div> <div class="control-group"> <span class="label-ui">VOL</span> <input type="range" id="volControl" min="0" max="1" step="0.05" value="1" oninput="ajustarVolumen(this.value)"> <span id="volNum">100%</span> </div> <div class="control-group"> <span class="label-ui">CONT</span> <input type="range" id="conControl" min="50" max="200" step="1" value="100" oninput="ajustarContraste(this.value)"> <span id="conNum">100%</span> </div> <div id="clock">00:00:00</div> </div> <script> let playlist = []; let currentIndex = 0; let mediaActual = null; let currentVolume = 1; let currentContrast = 100; let isPaused = false; let imageTimeout = null; function toggleFullScreen() { if (!document.fullscreenElement) { document.documentElement.requestFullscreen().catch(err => { console.error(`Error: ${err.message}`); }); } else { if (document.exitFullscreen) { document.exitFullscreen(); } } } document.addEventListener('fullscreenchange', () => { const btn = document.getElementById('btnFS'); const ui = document.getElementById('ui'); if (document.fullscreenElement) { btn.innerText = "SALIR"; btn.classList.add('btn-fs-active'); // Al entrar, aseguramos que el UI se oculte pero permita el hover del CSS ui.style.opacity = "0"; setTimeout(() => { ui.style.opacity = ""; }, 100); } else { btn.innerText = "FULL"; btn.classList.remove('btn-fs-active'); ui.style.opacity = ""; } }); function updateClock() { const now = new Date(); document.getElementById('clock').innerText = now.toTimeString().split(' ')[0]; } setInterval(updateClock, 1000); function actualizarBarra() { if (mediaActual && mediaActual.duration) { const p = (mediaActual.currentTime / mediaActual.duration) * 100; document.getElementById('progress-bar').style.width = p + "%"; } } setInterval(actualizarBarra, 500); function buscar(e) { if (mediaActual && mediaActual.duration) { const rect = document.getElementById('progress-container').getBoundingClientRect(); mediaActual.currentTime = ((e.clientX - rect.left) / rect.width) * mediaActual.duration; } } async function actualizarLista() { try { const res = await fetch('index.php?get_list=1'); const data = await res.json(); if (data && data.length > 0) playlist = data; } catch (e) { console.error("Error cargando lista"); } } async function comenzar() { document.getElementById('msg-inicio').style.display = 'none'; await actualizarLista(); reproducir(); } function togglePlay() { const btn = document.getElementById('btnPlayPause'); if (mediaActual) { if (mediaActual.paused) { mediaActual.play(); isPaused = false; btn.innerText = "PAUSA"; btn.classList.remove('btn-pause-active'); } else { mediaActual.pause(); isPaused = true; btn.innerText = "PLAY"; btn.classList.add('btn-pause-active'); } } } function saltarSiguiente() { clearTimeout(imageTimeout); currentIndex++; reproducir(); } function aplicarFiltros(elemento) { if (elemento) { elemento.style.filter = `contrast(${currentContrast}%)`; } } function ajustarContraste(v) { currentContrast = v; document.getElementById('conNum').innerText = v + '%'; const el = document.querySelector('#screen video, #screen img'); aplicarFiltros(el); } async function reproducir() { if (playlist.length === 0) { document.getElementById('screen').innerHTML = "<div style='color:#0f8'>CONECTANDO...</div>"; setTimeout(comenzar, 3000); return; } if (currentIndex >= playlist.length) currentIndex = 0; const archivo = playlist[currentIndex]; const sc = document.getElementById('screen'); sc.innerHTML = ""; if (archivo.match(/\.(mp4|webm|mp3|wav)$/i)) { mediaActual = document.createElement(archivo.match(/\.(mp3|wav)$/i) ? "audio" : "video"); mediaActual.src = archivo; mediaActual.volume = currentVolume; mediaActual.autoplay = true; aplicarFiltros(mediaActual); mediaActual.onended = () => saltarSiguiente(); sc.appendChild(mediaActual); } else { mediaActual = null; const img = document.createElement('img'); img.src = archivo; aplicarFiltros(img); sc.appendChild(img); imageTimeout = setTimeout(() => { if (!isPaused) saltarSiguiente(); }, 8000); } } function ajustarVolumen(v) { currentVolume = v; if (mediaActual) mediaActual.volume = v; document.getElementById('volNum').innerText = Math.round(v * 100) + '%'; } setInterval(actualizarLista, 120000); </script> </body> </html>