Men o'z oldimga matnning ovozli ijrosini xitoy tilida yozish vazifasini qo'ydim.Agar sizda tajriba bo'lsa, bu juda oddiy masala, lekin siz buni noldan boshlaganingizda, siz shunchalik ko'p muammolarni to'playsizki, istak ancha oldin yo'qolishi mumkin.JavaScript - bu juda funktsional til, unda yuragingiz xohlagan hamma narsa mavjud.
Keling, DevTools-ga joylashtirishingiz mumkin bo'lgan yakuniy versiyani ko'rib chiqamiz va uni tekshiramiz.
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 - brauzerning ichaklarida xitoy tili shunday belgilanadi.Bizning dasturimizda biz brauzerda xitoy tilining ovozini qidiramiz va iboramizni takrorlashga harakat qilamiz.Bu boshqa tillarda ovoz berishdan deyarli farq qilmaydi.Ammo bu erda bir nechta nuanslar mavjud.Mavjud tillar qatorini filtrlash orqali biz ikkita xitoycha zh-CN ovoziga duch kelamiz.Nol ayol ovozi, birinchisi esa erkak ovozi bo'ladi.
Ayol
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Erkak
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Bundan tashqari, ovozli harakat brauzerdan brauzerga va qurilmadan qurilmaga farq qiladi.Chrome brauzerining o'ziga xos ovozlari bor, Edge brauzerida esa butunlay boshqacha, yoqimliroq, Opera brauzerida esa umuman ovoz yo'q, shuning uchun ovozli ijro bo'lmaydi.
Ushbu kodni tugmachaga osib qo'yish mumkin va o'zingiz xohlagan narsani ovozli qilishingiz mumkin.
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);
}
va tugma kodi:
<button onclick="say(1)">👨🔉</button>
Ovoz bilan ishlashda boshqa muammolar yo'q.Ha, bularning barchasi smartfonlarda qanday ishlaydi.Ha, ajoyib, ayniqsa mobil Edge brauzerida.Aytgancha, ushbu texnologiya asosida men xitoy tilini o'rganish uchun mikroservis yaratishga harakat qilyapman, mana bu:
http://jkeks.ru/china .Hammasi men bu erda tasvirlaganimdek amalga oshiriladi.