Jeg satte meg selv i oppgave å skrive stemmeskuespillet til teksten på kinesisk.Dette er en ganske enkel sak hvis du allerede har erfaring, men når du begynner å gjøre det fra bunnen av, vil du samle så mange problemer at lysten kan forsvinne mye tidligere.JavaScript er et veldig funksjonelt språk, det ser ut til å ha alt hjertet begjærer.
La oss ta en titt på den endelige versjonen som du kan lime inn i DevTools og sjekke den ut.
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 - dette er hvordan det kinesiske språket er utpekt i innvollene i nettleseren.I programmet vårt søker vi i nettleseren etter stemmen til det kinesiske språket, og prøver å reprodusere uttrykket vårt.Det er praktisk talt ikke forskjellig fra å gi uttrykk for et hvilket som helst annet språk.Men det er et par nyanser her.Ved å filtrere utvalget av tilgjengelige språk kommer vi over 2 kinesiske zh-CN-stemmer.Null vil være en kvinnelig stemme, og den første er en mannsstemme.
Hunn
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Mann
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
I tillegg vil stemmehandlingen variere fra nettleser til nettleser og fra enhet til enhet.Chrome-nettleseren har sine egne stemmer, Edge-nettleseren har helt andre, mer behagelige, forresten, og Opera-nettleseren har ingen stemmer i det hele tatt, så det blir ingen stemmeskuespill.
Denne koden kan henges på knappen og stemme noe eget.
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);
}
og knappekode:
<button onclick="say(1)">👨🔉</button>
Det er ingen andre problemer med stemmeskuespill.Å ja, hvordan det hele fungerer på smarttelefoner.Ja, flott, spesielt i den mobile Edge-nettleseren.Forresten, basert på denne teknologien, prøver jeg å lage en mikrotjeneste for å lære kinesisk, her er den:
http://jkeks.ru/china .Alt er implementert akkurat som jeg beskrev her.