Fix speechSynthesis cancel before speak to unblock audio

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Nate EmmertandClaude Sonnet 4.6 committed 2026-07-21 09:38:20 -04:00
1 parent 6dd7e03d21
commit 8fa906b559
1 file changed
+7 -1
+7 -1
View File
@@ -133,7 +133,13 @@ async function ttsDrain() {
} else {
const u = new SpeechSynthesisUtterance(text);
u.rate = 0.85; u.lang = 'en-US';
await new Promise((resolve) => { u.onend = resolve; u.onerror = resolve; speechSynthesis.speak(u); });
speechSynthesis.cancel();
await new Promise((resolve) => {
u.onend = resolve;
u.onerror = resolve;
// some browsers need a short delay after cancel() before speak() works
setTimeout(() => speechSynthesis.speak(u), 50);
});
}
ttsDrain();
}