Púxenme a tarefa de escribir a interpretación de voz do texto en chinés.Este é un asunto bastante sinxelo se xa tes experiencia, pero cando comeces a facelo desde cero, recollerás tantos problemas que o desexo pode desaparecer moito antes.JavaScript é unha linguaxe moi funcional, parece que ten todo o que o teu corazón desexa.
Vexamos a versión final que podes pegar en DevTools e comprobalo.
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: así é como se designa a lingua chinesa nas entrañas do navegador.No noso programa, buscamos no navegador a voz da lingua chinesa e tentamos reproducir a nosa frase.Practicamente non é diferente de expresar calquera outra lingua.Pero aquí hai un par de matices.Filtrando a variedade de idiomas dispoñibles atopamos 2 voces chinesas zh-CN.Zero será unha voz feminina, e a primeira é unha voz masculina.
Feminino
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Masculino
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Ademais, a actuación de voz diferirá dun navegador a outro e dun dispositivo a outro.O navegador Chrome ten as súas propias voces, o navegador Edge ten outras completamente diferentes e máis agradables, por certo, e o navegador Opera non ten voces en absoluto, polo que non haberá actuación de voz.
Este código pódese colgar no botón e emitir algo propio.
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 código do botón:
<button onclick="say(1)">👨🔉</button>
Non hai outros problemas coa actuación de voz.Ah, si, como funciona todo nos teléfonos intelixentes.Si, xenial, especialmente no navegador Edge móbil.Por certo, baseándome nesta tecnoloxía, estou tentando facer un microservizo para aprender chinés, aquí está:
http://jkeks.ru/china .Todo está implementado exactamente como describín aquí.