Си поставив задача да го напишам гласовното дејствување на текстот на кинески.Ова е прилично едноставна работа ако веќе имате искуство, но кога ќе почнете да го правите тоа од нула, ќе соберете толку многу проблеми што желбата може да исчезне многу порано.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 .Сè е имплементирано токму како што опишав овде.