Metnin seslendirmesini Çince yazmayı kendime görev edindim.Bu, zaten tecrübeniz varsa oldukça basit bir meseledir, ancak bunu sıfırdan yapmaya başladığınızda, o kadar çok sorun biriktireceksiniz ki, arzu çok daha erken kaybolabilir.JavaScript çok işlevsel bir dildir, kalbinizin istediği her şeye sahip gibi görünüyor.
DevTools'a yapıştırabileceğiniz son sürüme bir göz atalım ve kontrol edelim.
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 - Çince, tarayıcının bağırsaklarında bu şekilde belirlenir.Programımızda, tarayıcıda Çince dilinin sesini arıyoruz ve ifademizi yeniden oluşturmaya çalışıyoruz.Pratikte başka bir dili seslendirmekten hiçbir farkı yoktur.Ancak burada birkaç nüans var.Mevcut dil dizisini filtreleyerek 2 Çince zh-CN sesiyle karşılaşıyoruz.Zero kadın sesi olacak ve ilki erkek sesi olacak.
Dişi
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Erkek
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Ayrıca seslendirme tarayıcıdan tarayıcıya ve cihazdan cihaza farklılık gösterecektir.Chrome tarayıcının kendi sesleri var, bu arada Edge tarayıcının tamamen farklı, daha hoş olanları var ve Opera tarayıcısının hiç sesi yok, bu yüzden seslendirme olmayacak.
Bu kod düğmeye asılabilir ve kendinize ait bir şeyi seslendirebilir.
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);
}
ve düğme kodu:
<button onclick="say(1)">👨🔉</button>
Seslendirmede başka bir sorun yok.Ah evet, hepsi akıllı telefonlarda nasıl çalışıyor.Evet, harika, özellikle mobil Edge tarayıcısında.Bu arada, bu teknolojiye dayanarak Çince öğrenmek için bir mikro hizmet yapmaya çalışıyorum, işte burada:
http://jkeks.ru/china .Her şey tam olarak burada anlattığım gibi uygulanıyor.