JavaScript는 말할 수 있습니다! 음성 합성 API 사용
3079 단어 webdevjavascript
const message = new SpeechSynthesisUtterance(
"Hi! This is an example of the Speech Synthesis API"
);
message.lang = "en-US";
const voices = speechSynthesis
.getVoices()
.filter(voice => voice.lang === "en-US");
message.voice = voices[0];
speechSynthesis.speak(message);
라이브 예 보기: https://jsfiddle.net/holanicozerpa/4h2sf9gL/6/
예제에서 볼 수 있듯이 음성 합성 API의 핵심 부분 중 하나는
SpeechSynthesisUtterance
클래스입니다. 이 클래스의 객체는 브라우저가 나중에 큰 소리로 읽을 텍스트를 나타냅니다.다른 핵심 부분은
speechSynthesis
개체입니다. 컨트롤러 역할을 하는 전역 개체입니다. 무엇보다도 이 개체에는 사용 가능한 음성 목록이 있습니다. 결정적인speak
방법도 있습니다.SpeechSynthesisUtterance
를 생성할 때 두 가지 방법으로 텍스트를 설정할 수 있습니다. 첫 번째는 생성자에 텍스트를 넣는 것이고(예제처럼) 두 번째는 text
속성을 사용하는 것입니다.필수는 아니지만 언어도 설정해야 합니다. 이는 해외 사용자가 잘못된 언어와 잘못된 발음으로 된 텍스트를 듣는 것을 방지하기 위한 것입니다.
Firefox와 Chrome에서는 텍스트와 언어를 설정하는 것으로 충분합니다.
speechSynthesis.speak
메서드를 사용하여 발화를 매개 변수로 보내면 텍스트를 듣게 됩니다. 그러나 아마도 Safari에서는 작동하지 않을 것입니다. 또한 사용할 음성을 설정해야 합니다.다행히
speechSynthesis.getVoices()
메서드를 사용하여 사용 가능한 음성 목록을 가져올 수 있습니다. SpeechSynthesisVoice
개체의 배열을 반환합니다. 이 개체는 각각 lang
속성을 가지며 발화 개체와 동일한 언어의 음성을 선택해야 합니다.마지막으로
voice
속성을 사용하여 발화 개체에 음성을 연결할 수 있습니다. 그렇게 하면 Safari에서도 음성 합성이 작동합니다.이 기사가 마음에 드셨다면 제 JavaScript 뉴스레터도 마음에 드실 것입니다.
격주 월요일마다 JavaScript 기술 수준을 높일 수 있는 쉽고 실행 가능한 단계를 보내드립니다. 확인해보세요: https://nicozerpa.com/newsletter
Reference
이 문제에 관하여(JavaScript는 말할 수 있습니다! 음성 합성 API 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nicozerpa/javascript-can-speak-using-the-speech-synthesis-api-5bo6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)