*// Script de test pour valider l'audio et le TTS dans la console du navigateur // À copier-coller dans la console pour diagnostic console.log('========== TEST AUDIO ET TTS =========='); // Test 1 : Vérifier les voix disponibles console.log('\n1️⃣ Test des voix de synthèse :'); const synth = window.speechSynthesis; const voices = synth.getVoices(); console.log(` ✓ Nombre de voix : ${voices.length}`); const frenchVoices = voices.filter(v => v.lang.startsWith('fr')); console.log(` ✓ Voix françaises : ${frenchVoices.length}`); if (frenchVoices.length > 0) { console.log(' ✓ Voix françaises disponibles :'); frenchVoices.forEach(v => { console.log(` - ${v.name} (${v.lang}) ${v.localService ? 'LOCAL' : 'REMOTE'}`); }); } else { console.warn(' ⚠ AUCUNE voix française trouvée !'); } // Test 2 : Tester le TTS console.log('\n2️⃣ Test du TTS (dans 1 seconde) :'); setTimeout(() => { const utterance = new SpeechSynthesisUtterance('Test de synthèse vocale'); utterance.lang = 'fr-FR'; utterance.rate = 0.7; utterance.pitch = 0.7; utterance.volume = 1.0; if (frenchVoices.length > 0) { utterance.voice = frenchVoices[0]; console.log(` ✓ Utilisation de la voix : ${frenchVoices[0].name}`); } utterance.onstart = () => console.log(' ✓ TTS démarré'); utterance.onend = () => console.log(' ✓ TTS terminé'); utterance.onerror = (e) => console.error(' ✗ Erreur TTS:', e); synth.speak(utterance); console.log(' → Lecture en cours...'); }, 1000); // Test 3 : Tester l'audio (dans 3 secondes) console.log('\n3️⃣ Test de l\'audio (dans 3 secondes) :'); setTimeout(() => { const audio = new Audio('assets/assets/sounds/ok.mp3'); audio.volume = 1.0; audio.onloadeddata = () => console.log(' ✓ Audio chargé'); audio.onplay = () => console.log(' ✓ Audio en lecture'); audio.onended = () => console.log(' ✓ Audio terminé'); audio.onerror = (e) => { console.error(' ✗ Erreur audio:', audio.error); console.error(' ✗ Code erreur:', audio.error?.code); console.error(' ✗ Message:', audio.error?.message); }; audio.play().then(() => { console.log(' → Lecture audio démarrée'); }).catch(e => { console.error(' ✗ Échec du play():', e); }); }, 3000); console.log('\n⏳ Tests en cours... Attendez les résultats ci-dessus'); console.log('========================================\n');