网络语音 api - 语音合成 .lang 属性 不工作

web speech api - speech synthesis .lang property not working

我正在尝试使用网络语音 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 像以前一样改变了,当一个 female/male 声音都可用时,不可能特别选择一个。我仍然为其他浏览器(或旧版 chrome)设置 lang。