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。

相关文章