Έθεσα στον εαυτό μου καθήκον να γράψω τη φωνητική δράση του κειμένου στα κινέζικα.Αυτό είναι ένα αρκετά απλό θέμα αν έχετε ήδη εμπειρία, αλλά όταν ξεκινήσετε να το κάνετε από την αρχή, θα συγκεντρώσετε τόσα πολλά προβλήματα που η επιθυμία μπορεί να εξαφανιστεί πολύ νωρίτερα.Η 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.Το Zero θα είναι μια γυναικεία φωνή και η πρώτη είναι μια ανδρική φωνή.
Θηλυκός
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>
Δεν υπάρχουν άλλα προβλήματα με τη φωνή.Ω ναι, πώς λειτουργούν όλα σε smartphone.Ναι, υπέροχο, ειδικά στο πρόγραμμα περιήγησης Edge για κινητά.Παρεμπιπτόντως, με βάση αυτήν την τεχνολογία, προσπαθώ να δημιουργήσω μια μικρουπηρεσία για την εκμάθηση κινέζικων, εδώ είναι:
http://jkeks.ru/china .Όλα υλοποιούνται ακριβώς όπως περιέγραψα εδώ.