Mi sono dato il compito di scrivere il doppiaggio del testo in cinese.Questa è una cosa abbastanza semplice se hai già esperienza, ma quando inizi a farlo da zero, raccoglierai così tanti problemi che il desiderio potrebbe scomparire molto prima.JavaScript è un linguaggio molto funzionale, sembra avere tutto ciò che il tuo cuore desidera.
Diamo un'occhiata alla versione finale che puoi incollare in DevTools e dai un'occhiata.
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: ecco come viene designata la lingua cinese nelle viscere del browser.Nel nostro programma, cerchiamo nel browser la voce della lingua cinese e proviamo a riprodurre la nostra frase.Praticamente non è diverso dal dare voce a qualsiasi altra lingua.Ma qui ci sono un paio di sfumature.Filtrando la matrice delle lingue disponibili ci imbattiamo in 2 voci cinesi zh-CN.Zero sarà una voce femminile e la prima è una voce maschile.
Femmina
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Maschio
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Inoltre, la recitazione vocale sarà diversa da browser a browser e da dispositivo a dispositivo.Il browser Chrome ha le sue voci, il browser Edge ne ha di completamente diverse, più piacevoli, tra l'altro, e il browser Opera non ha voci, quindi non ci sarà la recitazione vocale.
Questo codice può essere appeso al pulsante e dare voce a qualcosa di tuo.
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);
}
e codice pulsante:
<button onclick="say(1)">👨🔉</button>
Non ci sono altri problemi con la recitazione vocale.Eh si, come funziona tutto su smartphone.Sì, ottimo, soprattutto nel browser mobile Edge.A proposito, basato su questa tecnologia, sto cercando di creare un microservizio per imparare il cinese, eccolo qui:
http://jkeks.ru/china .Tutto è implementato esattamente come ho descritto qui.