Web Speech API-语音合成.lang属性不起作用 [英] web speech api - speech synthesis .lang property not working

查看:21
本文介绍了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。

这篇关于Web Speech API-语音合成.lang属性不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆