Dal jsem si za úkol napsat hlasový projev textu v čínštině.To je docela jednoduchá záležitost, pokud již máte zkušenosti, ale když to začnete dělat od nuly, nasbíráte tolik problémů, že touha může zmizet mnohem dříve.JavaScript je velmi funkční jazyk, zdá se, že má vše, po čem vaše srdce touží.
Pojďme se podívat na finální verzi, kterou můžete vložit do DevTools, a podívat se na ni.
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 - tak je v útrobách prohlížeče označena čínština.V našem programu hledáme v prohlížeči hlas čínského jazyka a snažíme se reprodukovat naši frázi.Prakticky se neliší od vyjadřování jakýmkoli jiným jazykem.Ale je zde několik nuancí.Filtrováním pole dostupných jazyků narazíme na 2 čínské hlasy zh-CN.Nula bude ženský hlas a první bude mužský.
ženský
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
mužský
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Kromě toho se hlasové ovládání bude lišit prohlížeč od prohlížeče a zařízení od zařízení.Prohlížeč Chrome má vlastní hlasy, prohlížeč Edge má mimochodem úplně jiné, příjemnější a prohlížeč Opera nemá hlasy vůbec, takže hlasové ovládání nebude.
Tento kód lze zavěsit na tlačítko a vyslovit něco vlastního.
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);
}
a kód tlačítka:
<button onclick="say(1)">👨🔉</button>
Jiné problémy s hlasovým projevem nejsou.Ach ano, jak to všechno funguje na chytrých telefonech.Ano, skvělé, zvláště v mobilním prohlížeči Edge.Mimochodem, na základě této technologie se snažím vytvořit mikroslužbu pro výuku čínštiny, zde je:
http://jkeks.ru/china .Vše je implementováno přesně tak, jak jsem zde popsal.