음성 합성 API를 사용하여 다른 단어 목록을 발음하고 있습니다. 내 앱은 캔버스를 통해 말하면서 단어를 안팎으로 움직입니다. 새로운 음성을 수행 할 때 :음성 합성 API 블록 주 스레드
var msg = new SpeechSynthesisUtterance(word);
window.speechSynthesis.speak(msg);
음성 단어가 주 스레드를 차단하여 일시적으로 애니메이션을 멈추는 것으로 나타났습니다. 이것은 window.speechSynthesis.speak();
에 전화 할 때마다 발생합니다.
자바 스크립트에서 별도의 스레드에서 음성 합성을 실행하는 방법이 있나요? 그래서 메인 스레드의 애니메이션을 방해하지 않습니까?
이다 간단한 jsfiddle] (HTTPS : // jsfiddl 빠른 해결책은 Booster2ooo 당신이의 setTimeout 호출 내에서 전화를 감싸는 것을 말씀 할 수있다 e.net/ConnorsFan/0oLbmy56/4/)에 애니메이션 및 음성 합성 기술이 포함되어 있습니다. 문제를 재현하기 위해 그것을 수정할 수 있습니까? – ConnorsFan