Javascript 如何在网站上设置语音合成语言?

Javascript 如何在网站上设置语音合成语言?,javascript,speech-synthesis,Javascript,Speech Synthesis,我的问题是,我想为我的网站用户设置阅读文本的可能性——用波兰语和语音合成。但是有些浏览器没有波兰语的声音,例如Windows7中的Firefox 这是我的密码: let speak = function(text) { var msg = new SpeechSynthesisUtterance(); var voices = speechSynthesis.getVoices(); msg.voice = voices[0]; msg.voiceURI

我的问题是,我想为我的网站用户设置阅读文本的可能性——用波兰语和语音合成。但是有些浏览器没有波兰语的声音,例如Windows7中的Firefox

这是我的密码:

let speak = function(text) {    
    var msg = new SpeechSynthesisUtterance();
    var voices = speechSynthesis.getVoices();
    msg.voice = voices[0];
    msg.voiceURI = 'native';
    msg.volume = 1; // 0 to 1
    msg.rate = 1; // 0.1 to 10
    msg.pitch = 2; //0 to 2
    msg.text = text;
    msg.lang = 'pl-PL';

    msg.onend = function(e) {
      console.log('Finished in ' + event.elapsedTime + ' seconds.');
    };

    if('speechSynthesis' in window && msg.lang == 'pl-PL') {
        speechSynthesis.speak(msg);
    } else {
        window.open('./info-about-browser.html', 'Info about your browser', 'height=350, width=600, top=200, left=200', 'scrollbars=no', 'resizable=no');
    }
}
问题是,要在所有浏览器中设置波兰语的语音,我必须做什么?我该怎么做


感谢您提供的每一个提示。

如果没有波兰语,您就不能依赖它进行语音合成。
因此,有两种选择:

  • 退一步说一种近似的语言:俄语、捷克语
  • 使用外部服务,如或

  • 看一看Hi@gaetanoM!谢谢你的链接。我知道有两种浏览器不支持语音合成,为此,我在代码中有
    if
    选项。但是我不知道在浏览器没有波兰语选择器的情况下,如何在我的代码中添加选项
    if
    。也许你知道怎么做?你的意思是:voices.find(e=>e.lang=='pl')==未定义?是的,类似这样的东西。我只想在浏览器中使用波兰语音或扬声器时使用此选项来阅读网站上的文本。另一个选项2:Hi@ManUtopiK!感谢您提供的所有链接-也许我可以尝试一个:)