Javascript 用于中文的SpeechSynthesis API——Firefox
Firefox上的用户不会说普通话。不支持吗?我在文档中找不到列表。我试过几种不同的语言 :Javascript 用于中文的SpeechSynthesis API——Firefox,javascript,html,firefox,text-to-speech,Javascript,Html,Firefox,Text To Speech,Firefox上的用户不会说普通话。不支持吗?我在文档中找不到列表。我试过几种不同的语言 : (如果可以的话,你应该听到“nihao”。它在Chrome上听起来不错,在Safari上听起来不错。在Ubuntu上的Firefox 53.0.2上,我听到了“字母”。在Windows上,Firefox只有3种声音,全是英语 我写了一个jsbin,显示浏览器的声音: if('speechSynthesis'在窗口中){ //为语言详细信息启动html表 var text='DefaultLanguag
(如果可以的话,你应该听到“nihao”。它在Chrome上听起来不错,在Safari上听起来不错。在Ubuntu上的Firefox 53.0.2上,我听到了“字母”。在Windows上,Firefox只有3种声音,全是英语 我写了一个jsbin,显示浏览器的声音:
if('speechSynthesis'在窗口中){
//为语言详细信息启动html表
var text='DefaultLanguageLocalNameURI';
//获取语音;添加到表标记
函数loadVoices(){
var voices=speechSynthesis.getVoices();
voices.forEach(函数(voice,i){
//将所有详细信息添加到表中
text+=''+voice.default+''
+voice.lang+“”+voice.localService
+''+voice.name+''+voice.voiceURI;
});
}
loadVoices();
langList.innerHTML=文本;
//Chrome异步加载语音。
window.speechSynthesis.onvoiceschanged=函数(e){
loadVoices();
langList.innerHTML=文本;
}
}
我测试了你的小提琴,它在Ubuntu上Mac 10.12上的Firefox 53上运行良好,speechSynthesis.getVoices().map((el)=>el.lang.sort()上没有中文版本。
;但它在Ubuntu上的Chrome上表现良好。
var msg = new SpeechSynthesisUtterance();
msg.text = '你好';
msg.lang = 'zh';
window.speechSynthesis.speak(msg);
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;
}
}