Поставих си задачата да напиша озвучената игра на текста на китайски.Това е доста прост въпрос, ако вече имате опит, но когато започнете да го правите от нулата, ще съберете толкова много проблеми, че желанието може да изчезне много по-рано.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 .Всичко е изпълнено точно както описах тук.