Web Speech API-语音合成.lang属性不起作用
我正在尝试使用Web Speech API将一个单词转录成葡萄牙语,我将属性设置为‘pt-BR’(遗憾的是不支持葡萄牙语-欧洲语),但始终用英语回复。
有人能帮忙吗?
谢谢
编码:
<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>
解决方案
好像是Chrome最近坏了。我让代码正常工作,现在它不工作了。
https://code.google.com/p/chromium/issues/detail?id=582455
作为一种解决办法,您可以将.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);
也许API像以前一样改变了,当男女声音都可用时,不可能特别挑一个。我仍然为其他浏览器(或较旧的Chrome)设置了lang。
相关文章