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

时间:2016-01-29 18:34:02

标签: javascript speech-recognition speech-synthesis webspeech-api

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

1 个答案:

答案 0 :(得分: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可能会像之前一样发生变化,特别是不可能选择一个。我仍然为其他浏览器(或更老的chromes)设置lang。