Micro : nouvel essai avec contrainte minimale si getUserMedia échoue

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
This commit is contained in:
Claude committed 2026-06-12 11:03:31 +00:00
1 parent 09c76508d7
commit 480a380dde
1 file changed
+15 -9
+15 -9
View File
@@ -22,15 +22,21 @@ async function startRecording() {
state.mediaStream = await navigator.mediaDevices.getUserMedia({
audio: { echoCancellation: true, noiseSuppression: true, autoGainControl: true },
});
} catch (err) {
const causes = {
NotAllowedError: "Permission refusée. Autorisez le micro pour ce site (icône à gauche de l'adresse), et vérifiez que la page est servie en HTTPS.",
NotReadableError: "Le micro est inaccessible au niveau du système : fermez les applications qui l'utilisent (Teams, Discord...), vérifiez les paramètres de confidentialité micro de l'OS, et le périphérique d'entrée choisi par le navigateur.",
NotFoundError: "Aucun micro détecté. Branchez un micro ou choisissez le bon périphérique d'entrée.",
OverconstrainedError: "Le micro ne supporte pas les réglages demandés.",
};
alert("Impossible de démarrer le micro.\n\n" + (causes[err.name] || "") + "\n\n(" + err + ")");
return;
} catch (firstErr) {
// Certains pilotes échouent avec les options de traitement audio :
// on retente avec la contrainte minimale avant d'abandonner.
try {
state.mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true });
} catch (err) {
const causes = {
NotAllowedError: "Permission refusée. Autorisez le micro pour ce site (icône à gauche de l'adresse), et vérifiez que la page est servie en HTTPS.",
NotReadableError: "Le micro est inaccessible au niveau du système : fermez les autres onglets ou applications qui l'utilisent (Teams, Discord, autre onglet LiveFlow...), redémarrez le navigateur, et vérifiez les paramètres de confidentialité micro de l'OS.",
NotFoundError: "Aucun micro détecté. Branchez un micro ou choisissez le bon périphérique d'entrée.",
OverconstrainedError: "Le micro ne supporte pas les réglages demandés.",
};
alert("Impossible de démarrer le micro.\n\n" + (causes[err.name] || "") + "\n\n(" + err + ")");
return;
}
}
const proto = location.protocol === 'https:' ? 'wss' : 'ws';