Skip to main content

XSpeechSynthesizerCreate

음성 합성기를 만듭니다.

구문

매개 변수

speechSynthesizer   _Out_
형식: XSpeechSynthesizerHandle*
만들어진 음성 합성기에 대한 핸들입니다.

반환 값

형식: HRESULT 성공하면 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 오류 코드를 참조하세요.

설명

이 함수는 시간에 민감한 스레드에서 호출해서는 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.
이 함수를 사용하여 새 음성 합성기 인스턴스를 만들고 그에 대한 핸들을 받을 수 있으며, 이는 설치된 음성 합성 엔진 또는 음성의 기능에 액세스할 수 있게 합니다. 기본적으로 새 음성 합성기 인스턴스는 현재 시스템 음성을 사용합니다. 현재 디바이스에 설치된 음성을 열거하고 정보를 가져오려면 XSpeechSynthesizerEnumerateInstalledVoices 함수를 XSpeechSynthesizerInstalledVoicesCallback 콜백 함수와 함께 사용합니다. 설치된 각 음성에 대해 XSpeechSynthesizerVoiceInformation 구조체는 음성 ID, 설명, 표시 텍스트, 성별, 언어 및 기타 정보를 제공합니다. 다른 설치된 음성을 사용하려면 XSpeechSynthesizerSetCustomVoice를 호출하고, 현재 시스템 음성을 다시 사용하려면 XSpeechSynthesizerSetDefaultVoice를 호출합니다. 음성 합성기 핸들을 만들고 음성을 지정한 후에는 XSpeechSynthesizerCreateStreamFromText 함수를 사용하여 음성 합성기 스트림을 만들고 일반 텍스트에서 음성을 합성합니다. XSpeechSynthesizerGetStreamDataSizeXSpeechSynthesizerGetStreamData 함수를 사용하여 음성 합성기 스트림에서 합성된 음성에 대한 오디오 데이터를 가져온 다음, 진행 중인 모든 비동기 작업이 완료된 후 XSpeechSynthesizerCloseStreamHandle 함수를 사용하여 음성 합성기 스트림을 닫습니다. 음성 합성기를 다 사용한 후에는 XSpeechSynthesizerCloseHandle 함수를 사용하여 음성 합성기를 닫고 시스템 리소스를 해제합니다. 메모리 누수를 방지하려면 핸들을 사용하는 모든 작업을 완료한 후 XSpeechSynthesizerCloseHandle 함수를 호출하여 음성 합성기 핸들을 닫습니다. 다음 예제는 음성 합성기와 설치된 음성을 사용하여 일반 텍스트에서 음성을 합성하는 방법과 음성 합성기 스트림으로 오디오 데이터를 합성하는 방법을 보여 줍니다. XSpeechSynthesizerCreateXSpeechSynthesizerSetCustomVoice 함수는 음성 합성기 인스턴스를 만들고, voiceId에 음성 ID가 지정된 경우 사용자 지정 음성을 옵션으로 할당합니다. 그런 다음 XSpeechSynthesizerCreateStreamFromText 함수가 음성 합성기 스트림을 만들고 textToSpeak에 지정된 일반 텍스트에서 음성을 합성합니다. 스트림이 만들어진 후 XSpeechSynthesizerGetStreamDataSizeXSpeechSynthesizerGetStreamData 함수는 스트림에서 재생할 합성된 음성에 대한 오디오 데이터를 검색합니다. 마지막으로 오디오 데이터 재생이 완료된 후 XSpeechSynthesizerCloseStreamHandleXSpeechSynthesizerCloseHandle 함수가 음성 합성기 스트림과 음성 합성기를 닫습니다.

요구 사항

헤더: XSpeechSynthesizer.h 라이브러리: xgameruntime.lib 지원 플랫폼: Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

개념 문서

함께 보기

XAccessibility
XSpeechSynthesizerCloseHandle
XSpeechSynthesizer
마지막 수정일 2026년 8월 24일