Ik stelde mezelf de taak om de voice-acting van de tekst in het Chinees te schrijven.Dit is een vrij eenvoudige zaak als je al ervaring hebt, maar als je het helemaal opnieuw gaat doen, verzamel je zoveel problemen dat het verlangen veel eerder kan verdwijnen.JavaScript is een zeer functionele taal, het lijkt alles te hebben wat je hartje begeert.
Laten we eens kijken naar de definitieve versie die u in de DevTools kunt plakken en deze bekijken.
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 - dit is hoe de Chinese taal wordt aangeduid in de ingewanden van de browser.In ons programma zoeken we in de browser naar de stem van de Chinese taal en proberen we onze zin te reproduceren.Het is praktisch niet anders dan het uiten van een andere taal.Maar er zijn een paar nuances hier.Als we de reeks beschikbare talen filteren, komen we 2 Chinese zh-CN-stemmen tegen.Zero zal een vrouwenstem zijn, en de eerste is een mannenstem.
Vrouwelijk
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Mannelijk
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Daarnaast zal de voice-acting verschillen van browser tot browser en van device tot device.De Chrome-browser heeft zijn eigen stemmen, de Edge-browser heeft trouwens heel andere, aangenamere, en de Opera-browser heeft helemaal geen stemmen, dus er zal geen voice-acting zijn.
Deze code kan aan de knop worden gehangen en iets van jezelf inspreken.
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);
}
en knopcode:
<button onclick="say(1)">👨🔉</button>
Er zijn geen andere problemen met stemacteren.Oh ja, hoe het allemaal werkt op smartphones.Ja, geweldig, vooral in de mobiele Edge-browser.Trouwens, op basis van deze technologie probeer ik een microservice te maken om Chinees te leren, hier is het:
http://jkeks.ru/china .Alles wordt precies uitgevoerd zoals ik hier heb beschreven.