Files
edueasy/lib/speech.ts
T

30 lines
527 B
TypeScript

"use client"
let utterance: SpeechSynthesisUtterance | null = null
export async function speak(
text: string,
_rate = 0.85,
): Promise<void> {
return new Promise((resolve) => {
stopSpeaking()
const u = new SpeechSynthesisUtterance(text)
u.lang = "es-AR"
u.rate = _rate
u.onend = () => resolve()
u.onerror = () => resolve()
utterance = u
speechSynthesis.speak(u)
})
}
export function stopSpeaking(): void {
if (utterance) {
speechSynthesis.cancel()
utterance = null
}
}