javascript - 中文 SpeechSynthesis API -- Firefox

标签 javascript html firefox text-to-speech

SpeechSynthesis API在 Firefox 上不会说普通话。不支持吗?我在文档中找不到列表。我尝试了几种不同的语言 tags .

Fiddle :

var msg = new SpeechSynthesisUtterance();
msg.text = '你好';
msg.lang = 'zh';
window.speechSynthesis.speak(msg);

(如果它有效,您应该听到“nihao”。在 Chrome 上听起来很好,在 Safari 上听起来OK。在 Ubuntu 上的 Firefox 53.0.2 上,我听到“letter字母”。)

最佳答案

在 Windows 上,Firefox 只有 3 种语音,都是英文。

我写了一个显示浏览器声音的jsbin:
https://jsbin.com/ginanegoqu/edit?js,output

if ('speechSynthesis' in window) {
    // Start an html table for languages details
    var text = '<table border=1><tr><th>Default<th>Language<th>Local<th>Name<th>URI</tr>';
    // Get voices; add to table markup
    function loadVoices() {
        var voices = speechSynthesis.getVoices();
        voices.forEach(function(voice, i) {
          // Add all details to table
          text += '<tr><td>' + voice.default + '<td>'
              + voice.lang + '<td>' + voice.localService
              + '<td>' + voice.name + '<td>' + voice.voiceURI;
        });
    }
    loadVoices();
    langList.innerHTML = text;
    // Chrome loads voices asynchronously.
    window.speechSynthesis.onvoiceschanged = function(e) {
        loadVoices();
        langList.innerHTML = text;
    }
}

关于javascript - 中文 SpeechSynthesis API -- Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43983845/

相关文章:

javascript - 尝试将具有透明度的图像放在平面上(three.js)

javascript - 使用 JS 添加 HTML 标签 | chrome 扩展

javascript - 这些 var 声明是样式问题还是功能问题?

javascript - window.prompt 多行输入 JavaScript CSS

Javascript - onclick,播放声音,等待 x 秒,加载 URL

html - 在 IndexedDB 中保存 ArrayBuffer

javascript - 如何使用react refs设置背景图片?

javascript - SumoSelect 没有选择数组中的所有值

python - python 中的 Firefox selenium 失败,错误代码为 127

javascript - firefox addon install.rdf 在更新时将数据传递给服务器