2017-07-01 440 views
0

我使用HTML5语音合成API和Google Chrome(Windows)。不幸的是,当我测试可用的声音 - 我没有看到挪威 声音(例如)Google Chrome(Windows) - 如何添加缺少的语音合成声音

所以我的问题是 - 是否有可能在Chrome中添加缺少声音 ?或者该列表适用于所有Chrome(Windows)安装?

在我的Android设备上 - 可用语音列表要大得多。但是 - 在Windows设备上 - 缺少一些重要的声音。

的声音我在谷歌Chrome浏览器的Windows看到如下所列:

PL-PL 的en-US DE-DE 的en-US EN-GB EN-GB ES-ES ES-美国 FR-FR HI-IN ID-ID 它-IT JA-JP KO-KR NL-NL PL-PL PT-BR RU-RU ZH-CN ZH-HK ZH-TW

谢谢 迈克

回答

1

这份名单是浏览器版本的具体,和相同的浏览器版本如Chrome将在不同的操作系统上有不同的列表。似乎只有Safari和Chrome是多语言的,Opera和Firefox都有英文声音,而IE没有。适用于Mac和Ubuntu的Chrome浏览器拥有比Windows for Chrome更多的声音。据推测,Chrome的新版本比老版本拥有更多的声音。

我写了显示浏览器的声音一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; 
    } 
}