Es izvirzīju sev uzdevumu uzrakstīt teksta balss spēli ķīniešu valodā.Tas ir diezgan vienkāršs jautājums, ja jums jau ir pieredze, bet, sākot to darīt no nulles, jūs sakrāsiet tik daudz problēmu, ka vēlme var pazust daudz agrāk.JavaScript ir ļoti funkcionāla valoda, šķiet, ka tajā ir viss, ko sirds kāro.
Apskatīsim galīgo versiju, ko varat ielīmēt DevTools, un pārbaudiet to.
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 - šādi pārlūkprogrammas iekšienē tiek apzīmēta ķīniešu valoda.Mūsu programmā mēs pārlūkprogrammā meklējam ķīniešu valodas balsi un mēģinām atveidot mūsu frāzi.Tas praktiski neatšķiras no izrunāšanas jebkurā citā valodā.Bet šeit ir pāris nianses.Filtrējot pieejamo valodu klāstu, mēs saskaramies ar 2 ķīniešu zh-CN balsīm.Nulle būs sieviešu balss, un pirmā ir vīriešu balss.
Sieviete
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Vīrietis
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Turklāt balss darbība dažādās pārlūkprogrammās un dažādās ierīcēs atšķiras.Chrome pārlūkam ir savas balsis, Edge pārlūkprogrammai, starp citu, ir pavisam citas, patīkamākas, un Opera pārlūkam vispār nav balsu, tāpēc nebūs balss aktieru.
Šo kodu var piekārt pie pogas un izrunāt kaut ko savu.
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);
}
un pogas kods:
<button onclick="say(1)">👨🔉</button>
Citu problēmu ar balss spēli nav.Ak, jā, kā tas viss darbojas viedtālruņos.Jā, lieliski, it īpaši mobilajā pārlūkprogrammā Edge.Starp citu, pamatojoties uz šo tehnoloģiju, es mēģinu izveidot mikropakalpojumu ķīniešu valodas apguvei, šeit tas ir:
http://jkeks.ru/china .Viss tiek īstenots tieši tā, kā es šeit aprakstīju.