Мен өз алдыма қытай тілінде мәтіннің дыбыстық әрекетін жазу міндетін қойдым.Бұл өте қарапайым мәселе, егер сізде тәжірибе болса, бірақ сіз оны нөлден бастағанда, сіз соншалықты көп мәселелерді жинайсыз, бұл тілек әлдеқайда ертерек жоғалып кетуі мүмкін.JavaScript - өте функционалды тіл, оның жүрегі қалағанның бәрі бар сияқты.
DevTools ішіне қоюға және оны тексеруге болатын соңғы нұсқаны қарастырайық.
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 - қытай тілі браузерде осылай белгіленеді.Біздің бағдарламада біз браузерден қытай тілінің дауысын іздейміз және өз сөз тіркесімізді қайталауға тырысамыз.Оның басқа тілде сөйлеуден іс жүзінде еш айырмашылығы жоқ.Бірақ бұл жерде бірнеше нюанстар бар.Қол жетімді тілдер массивін сүзу арқылы біз 2 қытай zh-CN дауысын кездестіреміз.Нөл әйел дауысы болады, ал біріншісі еркек дауысы болады.
Әйел
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Еркек
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Сонымен қатар, дауыс әрекеті браузерден браузерге және құрылғыдан құрылғыға өзгереді.Chrome браузерінің өз дауыстары бар, Edge браузерінде мүлдем басқа, жағымдырақ, ал Opera браузерінде дауыстар мүлдем жоқ, сондықтан дауыстық әрекет болмайды.
Бұл кодты түймеге іліп, өзіңіздің бірдеңеңізді дауыстай аласыз.
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);
}
және түйме коды:
<button onclick="say(1)">👨🔉</button>
Дауыс беруде басқа проблемалар жоқ.Иә, мұның бәрі смартфондарда қалай жұмыс істейді.Иә, тамаша, әсіресе мобильді Edge браузерінде.Айтпақшы, осы технология негізінде мен қытай тілін үйренуге арналған микросервис жасауға тырысамын, міне, бұл:
http://jkeks.ru/china .Барлығы дәл осы жерде сипатталғандай жүзеге асырылады.