问题
im trying to use web speech api to transcript a word in Portuguese, i set the property to 'pt-BR' ( unfortunately Portuguese - european is not supported) but, always replies in english.
Can someone help?
Thanks
code:
<script type="text/javascript">
var synth = window.speechSynthesis;
function falatarea(){
var utteranceY = new SpeechSynthesisUtterance();
utteranceY.text = "teste";
utteranceY.lang = "pt-BR";
utteranceY.voice = "pt-BR";
window.speechSynthesis.speak(utteranceY);
}
</script>
回答1:
Seems like Chrome broke recently. I had code working, now its not.
https://code.google.com/p/chromium/issues/detail?id=582455
As a work-around, you can set the .voice
voices = window.speechSynthesis.getVoices()
var utterance = new SpeechSynthesisUtterance("lo que practico");
utterance.voice = voices[3];
utterance.lang = voices[3].lang;
window.speechSynthesis.speak(utterance);
Perhaps the API changed as before when a female/male voice were both available it was not possible to pick one in particular. I still set lang for other browsers (or older chromes).
来源:https://stackoverflow.com/questions/35091595/web-speech-api-speech-synthesis-lang-property-not-working