Estoy tratando de crear un comando de voz a texto, luego el servidor responderá como texto y luego lo convertirá a voz usando react-speech-kit . Ambas funciones funcionan bien, pero lo que quería hacer era llamar a la función Speak()
desde useSpeechSynthesis
automáticamente.
Llamé a la función de speak
en la función onEnd
de useSpeechRecognition
de esta manera
const onEnd = () => { fetch( "http://api/Main?id=test&lang=kor&req=" + value, {} ) .then((res) => res.json()) .then( (result) => { setResponse(result.res); speak(result.res); console.log(result); }, (error) => { console.log(error); } ); // You could do something here after speaking has finished };
Pero no habla por sí mismo después de que se haya pasado el valor.
Alguien sabe como hacerlo automatico?
EDITAR
Me equivoqué al llamar a la función de hablar de esa manera, debería haber sido así speak({text:result.res});
Está funcionando ahora, TTS llama automáticamente, pero llama una y otra vez, no una vez, ¿alguien sabe cómo solucionarlo?