Mi misi u compitu di scrive a voce di u testu in cinese.Quissa hè una materia abbastanza sèmplice s'è vo avete digià spirienza, ma quandu vi principiatu à fà lu da zero, vi cullà tanti prublemi chì u desideriu pò sparisce assai prima.JavaScript hè una lingua assai funziunale, pare avè tuttu ciò chì u vostru core desidera.
Fighjemu a versione finale chì pudete incollà in DevTools è verificate.
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 - hè cusì chì a lingua cinese hè designata in l'intestione di u navigatore.In u nostru prugramma, cerchemu u navigatore per a voce di a lingua cinese, è pruvate à ripruduce a nostra frasa.Praticamente ùn hè micca sfarente di voce qualsiasi altra lingua.Ma ci sò un paru di sfumature quì.Filtrannu a gamma di lingue dispunibuli truvamu 2 voci chinesi zh-CN.Zero serà una voce femminile, è a prima hè una voce maschile.
Femmina
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Masculinu
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Inoltre, l'attuazione di a voce differiscerà da u navigatore à u navigatore è da u dispositivu à u dispositivu.U navigatore Chrome hà a so propria voce, u navigatore Edge hà cumplitamenti diffirenti, più piacevuli, per via, è u navigatore Opera ùn hà micca voce, cusì ùn ci sarà micca voce.
Stu codice pò esse appiccicatu à u buttone è voce qualcosa di u vostru propiu.
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);
}
è codice di buttone:
<button onclick="say(1)">👨🔉</button>
Ùn ci hè micca altri prublemi cù a voce.Oh iè, cumu tuttu funziona nantu à i smartphones.Iè, grande, soprattuttu in u navigatore Edge mobile.A propositu, basatu annantu à sta tecnulugia, aghju pruvatu à fà un microserviziu per amparà u cinese, quì hè:
http://jkeks.ru/china .Tuttu hè implementatu esattamente cum'è aghju descrittu quì.