Eu me propus a tarefa de escrever a dublagem do texto em chinês.Esta é uma questão bastante simples se você já tem experiência, mas quando você começa a fazer isso do zero, você acumula tantos problemas que o desejo pode desaparecer muito mais cedo.JavaScript é uma linguagem muito funcional, parece ter tudo o que seu coração deseja.
Vamos dar uma olhada na versão final que você pode colar no DevTools e conferir.
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 - é assim que o idioma chinês é designado nas entranhas do navegador.Em nosso programa, pesquisamos no navegador a voz do idioma chinês e tentamos reproduzir nossa frase.Praticamente não é diferente de expressar qualquer outro idioma.Mas há algumas nuances aqui.Filtrando a variedade de idiomas disponíveis, encontramos 2 vozes chinesas zh-CN.Zero será uma voz feminina, e a primeira é uma voz masculina.
Fêmea
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Macho
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Além disso, a dublagem será diferente de navegador para navegador e de dispositivo para dispositivo.O navegador Chrome tem suas próprias vozes, o navegador Edge tem outras completamente diferentes, mais agradáveis, por sinal, e o navegador Opera não tem vozes, então não haverá dublagem.
Este código pode ser pendurado no botão e dar voz a algo seu.
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ão:
<button onclick="say(1)">👨🔉</button>
Não há outros problemas com a dublagem.Ah sim, como tudo funciona em smartphones.Sim, ótimo, especialmente no navegador Edge móvel.A propósito, com base nessa tecnologia, estou tentando fazer um microsserviço para aprender chinês, aqui está:
http://jkeks.ru/china .Tudo é implementado exatamente como descrevi aqui.