// ==Script de usuario== // @name Aceleración de la reproducctampermonkey.netUniverse // @espacio de nombres https://t.co/EcRyuxlHjq // @versión 1.1 // @description Agrexiaoyuzhoufm.com/episode/de velocidad de reproducción a la versión web de Xiaoyuzhou // @autor Tú // @match https://t.co/oV7FDA6DLX* // @grant ninguno // ==/Script de usuario== (función() { 'uso estricto'; // Esperando que se carguen los elementos de audio función waitForAudio() { constante audio = document.querySelector('audio'); si (audio) { addSpeedControl(audio); } demás { setTimeout(esperaAudio, 500); } } // Agregar control de velocidad función addSpeedControl(audio) { // Crear un contenedor de control de velocidad constante speedContainer = document.createElement('div'); https://t.co/NnVY7mFfir.cssTexto = ` posición: fija; superior: 80px; derecha: 20px; fondo: blanco; radio del borde: 8px; relleno: 10px; caja-sombra: 0 2px 10px rgba(0,0,0,0.1); índice z: 1000; pantalla: flex; flex-direccion: columna; espacio: 8px; `; // Opciones de velocidad velocidades constantes = [0,5, 0,75, 1,0, 1,25, 1,5, 1,75, 2,0]; // Crear título constante título = documento.createElement('div'); title.textContent = 'Ajuste de velocidad de reproducción'; https://t.co/kkc695BtY1.cssTexto = ` tamaño de fuente: 12px; color: #666; alinear texto: centro; margen inferior: 5px; `; speedContainer.appendChild(título); // Crear botón para acelerar velocidades.paraCada(velocidad => { const btn = document.createElement('botón'); btn.textContent = `${velocidad}x`; https://t.co/5ZBU1WBy4L.cssTexto = ` relleno: 8px 15px; borde: 1px sólido #ddd; radio del borde: 5px; fondo: blanco; cursor: puntero; tamaño de fuente: 14px; transición: todos los 0,2 s; `; // Establece el estilo para la velocidad actual. si (velocidad === 1.0) { https://t.co/5ZBU1WBy4L.background = 'var(--color del tema, #25B4E1)'; https://t.co/5ZBU1WBy4L.color = 'blanco'; https://t.co/5ZBU1WBy4L.borderColor = 'var(--color del tema, #25B4E1)'; } btn.addEventListener('clic', () => { audio.playbackRate = velocidad; // Actualizar todos los estilos de botones speedContainer.querySelectorAll('botón').forEach(b => { https://t.co/kqnhnypYTa.background = 'blanco'; https://t.co/kqnhnypYTa.color = 'negro'; https://t.co/kqnhnypYTa.borderColor = '#ddd'; }); // Resaltar el botón actual https://t.co/5ZBU1WBy4L.background = 'var(--color del tema, #25B4E1)'; https://t.co/5ZBU1WBy4L.color = 'blanco'; https://t.co/5ZBU1WBy4L.borderColor = 'var(--color del tema, #25B4E1)'; }); btn.addEventListener('mouseenter', () => { si (audio.playbackRate !== velocidad) { https://t.co/5ZBU1WBy4L.fondo = '#f5f5f5'; } }); btn.addEventListener('mouseleave', () => { si (audio.playbackRate !== velocidad) { https://t.co/5ZBU1WBy4L.background = 'blanco'; } }); speedContainer.appendChild(btn); }); // Añadir a la página documento.body.appendChild(speedContainer); // Agregar soporte para atajos de teclado documento.addEventListener('keydown', (e) => { // Utilice las teclas numéricas del 1 al 7 para cambiar de velocidad rápidamente si (e.key >= '1' && e.key <= '7') { constante índice = parseInt(e.key) - 1; si (velocidades[índice]) { audio.playbackRate = velocidades[índice]; // Activa el efecto de clic del botón correspondiente speedContainer.querySelectorAll('botón')[índice + 1].click(); } } }); console.log('¡Se ha añadido el control de velocidad! Puedes usar las teclas numéricas del 1 al 7 para cambiar de velocidad rápidamente'); } // Empieza a escuchar esperarAudio(); })();
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.