Mi metis al mi la taskon verki la voĉaktoradon de la teksto en la ĉina.Ĉi tio estas sufiĉe simpla afero, se vi jam havas sperton, sed kiam vi komencos fari ĝin de nulo, vi kolektos tiom da problemoj, ke la deziro povas malaperi multe pli frue.JavaScript estas tre funkcia lingvo, ĝi ŝajnas havi ĉion, kion via koro deziras.
Ni rigardu la finan version, kiun vi povas alglui en la DevTools kaj kontroli ĝin.
var utterance = new SpeechSynthesisUtterance('菜');
var voices = window.speechSynthesis.getVoices();
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
window.speechSynthesis.speak(utterance);
zh-CN - jen kiel la ĉina lingvo estas indikita en la internaĵoj de la retumilo.En nia programo, ni serĉas la retumilon la voĉon de la ĉina lingvo, kaj provas reprodukti nian frazon.Ĝi praktike ne diferencas de la voĉo de iu ajn alia lingvo.Sed estas kelkaj nuancoj ĉi tie.Filtrinte la aron de disponeblaj lingvoj ni trovas 2 ĉinajn zh-CN-voĉojn.Nulo estos virina voĉo, kaj la unua estas vira voĉo.
Ino
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Vira
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Krome, la voĉa agado malsamas de retumilo al retumilo kaj de aparato al aparato.La Chrome-retumilo havas siajn proprajn voĉojn, la Edge-retumilo havas tute malsamajn, pli agrablajn, cetere, kaj la Opera-retumilo tute ne havas voĉojn, do ne estos voĉa agado.
Ĉi tiu kodo povas esti pendigita sur la butono kaj voĉigi ion propran.
function say(voiceId){
let text = document.getElementById("pole").innerHTML
console.log (text)
var utterance = new SpeechSynthesisUtterance(text);
var voices = window.speechSynthesis.getVoices();
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[voiceId];
window.speechSynthesis.speak(utterance);
}
kaj butonkodo:
<button onclick="say(1)">👨🔉</button>
Ne estas aliaj problemoj kun voĉa agado.Ho jes, kiel ĉio funkcias ĉe saĝtelefonoj.Jes, bonega, precipe en la poŝtelefona retumilo Edge.Cetere, surbaze de ĉi tiu teknologio, mi provas fari mikroservon por lerni la ĉinan, jen ĝi:
http://jkeks.ru/china .Ĉio estas efektivigita ĝuste kiel mi priskribis ĉi tie.