2

我试图使用网络语音 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>
4

1 回答 1

2

好像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。

于 2016-01-30T07:20:40.497 回答