나는 중국어로 된 텍스트의 성우를 쓰는 임무를 맡았습니다.이것은 이미 경험이 있는 경우 상당히 간단한 문제이지만 처음부터 시작하면 너무 많은 문제를 수집하여 욕망이 훨씬 일찍 사라질 수 있습니다.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 .여기에서 설명한 대로 모든 것이 정확하게 구현됩니다.