我正在玩Chrome的speechSynthesis
msg = new SpeechSynthesisUtterance("some text");
msg.lang = "fr-FR" ;
window.speechSynthesis.speak(msg);
当我发现这个奇怪的问题时:如果您的设备处于离线状态,它就不能说话了。我在网上搜索但没有找到任何解释 这项工作无法脱机吗? (如果你知道它需要在线的原因,请在评论中告诉我。)
答案 0 :(得分:13)
语音合成voices可以是设备本地的,也可以来自远程语音合成器服务。如果语音是远程服务,浏览器只有在线并且可以连接到它时才能使用它。
您没有说明您所处的环境,但在Windows和OS X上用于fr-FR的GoogleFrançais语音是远程服务,因此它无法脱机工作。
您可以通过拨打speechSynthesis.getVoices()
并检查每个语音的localService
属性来检查设备上可用的语音。