Em vaig proposar escriure la veu del text en xinès.Aquesta és una qüestió bastant senzilla si ja tens experiència, però quan comences a fer-ho des de zero, acumularàs tants problemes que el desig pot desaparèixer molt abans.JavaScript és un llenguatge molt funcional, sembla que té tot el que el teu cor desitja.
Fem una ullada a la versió final que podeu enganxar a DevTools i comproveu-la.
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: així és com es designa la llengua xinesa a les entranyes del navegador.Al nostre programa, cerquem al navegador la veu de la llengua xinesa i intentem reproduir la nostra frase.Pràcticament no és diferent de expressar qualsevol altre idioma.Però aquí hi ha un parell de matisos.Filtrant la varietat d'idiomes disponibles, trobem 2 veus xineses zh-CN.Zero serà una veu femenina, i la primera és una veu masculina.
femella
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Mascle
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
A més, l'actuació de veu variarà d'un navegador a un altre i d'un dispositiu a un altre.El navegador Chrome té les seves pròpies veus, el navegador Edge en té d'altres completament diferents i més agradables, per cert, i el navegador Opera no té cap veu, de manera que no hi haurà actuacions de veu.
Aquest codi es pot penjar al botó i expressar alguna cosa pròpia.
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);
}
i codi de botó:
<button onclick="say(1)">👨🔉</button>
No hi ha altres problemes amb la veu.Ah, sí, com funciona tot als telèfons intel·ligents.Sí, genial, sobretot al navegador Edge mòbil.Per cert, a partir d'aquesta tecnologia, estic intentant fer un microservei per aprendre xinès, aquí el teniu:
http://jkeks.ru/china .Tot s'implementa exactament tal com he descrit aquí.