diff --git a/chat_window.php b/chat_window.php index c2f3f82..cd4bcff 100644 --- a/chat_window.php +++ b/chat_window.php @@ -372,9 +372,6 @@ if (empty($user_id)) { - @@ -569,40 +566,26 @@ if (empty($user_id)) { throw new Error('WebAssembly no está disponible en este navegador; no se puede convertir en cliente'); } -// Si FFmpeg no está presente, intentar cargar desde varios CDNs (varias URLs de fallback) - if (!window.FFmpeg || !window.FFmpeg.createFFmpeg) { + // Si FFmpeg no está presente, intentar cargar desde varios CDNs + if (!window.FFmpeg || !window.FFmpeg.createFFmpeg) { const cdns = [ - // CDN funcional conocido (prioritario) - 'https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg/dist/ffmpeg.min.js', - // Versioned sources and other fallbacks 'https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.11.8/dist/ffmpeg.min.js', - 'https://unpkg.com/@ffmpeg/ffmpeg@0.11.8/dist/ffmpeg.min.js', - 'https://unpkg.com/@ffmpeg/ffmpeg/dist/ffmpeg.min.js', - // Fallback local path - recomendamos descargar y colocar manualmente si CDN falla - '/assets/vendor/ffmpeg.min.js' + 'https://unpkg.com/@ffmpeg/ffmpeg@0.11.8/dist/ffmpeg.min.js' ]; let loaded = false; - const failedSources = []; for (const url of cdns) { try { await loadScript(url); if (window.FFmpeg && window.FFmpeg.createFFmpeg) { - console.info('FFmpeg loaded from', url); loaded = true; break; - } else { - failedSources.push(url + ' (no FFmpeg object)'); } } catch (e) { console.warn('No se pudo cargar ffmpeg desde', url, e); - failedSources.push(url + ' (' + (e.message || e) + ')'); } } if (!loaded) { - // Mostrar guía al usuario sobre cómo instalar localmente - const helpMsg = 'No se pudo cargar ffmpeg.wasm desde CDNs. Intenta descargar `ffmpeg.min.js` y colócalo en `assets/vendor/ffmpeg.min.js`. Fuentes intentadas: ' + failedSources.join('; '); - console.error(helpMsg); - throw new Error(helpMsg); + throw new Error('No se pudo cargar ffmpeg.wasm desde los CDNs'); } } @@ -1729,27 +1712,7 @@ if (empty($user_id)) { startRecording(); } }); - - // Botón para cargar conversor de audio manualmente (ffmpeg WASM) - const loadBtn = document.getElementById('loadConverterBtn'); - if (loadBtn) { - loadBtn.addEventListener('click', async function() { - loadBtn.disabled = true; - loadBtn.innerHTML = ' Cargando...'; - try { - await ensureFFmpeg(); - showAlert('Conversor cargado correctamente', 'success'); - loadBtn.innerHTML = ' Listo'; - } catch (e) { - console.error('Error cargando conversor:', e); - showAlert('Error cargando conversor: ' + (e.message || e), 'danger'); - loadBtn.innerHTML = ' Error'; - } finally { - loadBtn.disabled = false; - } - }); - } - + // Auto-refresh cada 30 segundos para nuevos mensajes setInterval(refreshChat, 30000); });