Skip to main content

XSpeechSynthesizerCreate

Cria um sintetizador de fala.

Sintaxe

Parâmetros

speechSynthesizer   _Out_
Tipo: XSpeechSynthesizerHandle*
O identificador do sintetizador de fala criado.

Valor retornado

Tipo: HRESULT Retorna S_OK se for bem-sucedida; caso contrário, retorna um código de erro. Para obter uma lista de códigos de erro, consulte Códigos de erro.

Comentários

Não é seguro chamar esta função em um thread sensível ao tempo. Para obter mais informações, consulte Threads sensíveis ao tempo.
Use esta função para criar e receber o identificador de uma nova instância de sintetizador de fala, que fornece acesso à funcionalidade de um mecanismo de síntese de fala instalado, ou voz. Por padrão, uma nova instância de sintetizador de fala usa a voz atual do sistema. Para enumerar e obter informações sobre as vozes instaladas no dispositivo atual, use a função XSpeechSynthesizerEnumerateInstalledVoices junto com a função de retorno de chamada XSpeechSynthesizerInstalledVoicesCallback. Para cada voz instalada, a estrutura XSpeechSynthesizerVoiceInformation fornece a ID da voz, a descrição, o texto de exibição, o gênero, o idioma e outras informações. Invoque XSpeechSynthesizerSetCustomVoice para usar uma voz instalada diferente ou invoque XSpeechSynthesizerSetDefaultVoice para usar novamente a voz atual do sistema. Depois de criar um identificador de sintetizador de fala e especificar uma voz, use a função XSpeechSynthesizerCreateStreamFromText para criar um fluxo do sintetizador de fala e sintetizar fala a partir de texto sem formatação. Use as funções XSpeechSynthesizerGetStreamDataSize e XSpeechSynthesizerGetStreamData para obter os dados de áudio da fala sintetizada do fluxo do sintetizador de fala e, em seguida, use a função XSpeechSynthesizerCloseStreamHandle para fechar o fluxo do sintetizador de fala depois que todas as operações assíncronas pendentes forem concluídas. Use a função XSpeechSynthesizerCloseHandle para fechar o sintetizador de fala e liberar os recursos do sistema depois de terminar de usar o sintetizador de fala. Para evitar vazamentos de memória, chame a função XSpeechSynthesizerCloseHandle para fechar um identificador de sintetizador de fala depois de concluir todas as operações que estão usando o identificador. O exemplo a seguir demonstra como sintetizar fala a partir de texto sem formatação usando um sintetizador de fala e uma voz instalada, e como sintetizar dados de áudio com um fluxo do sintetizador de fala. As funções XSpeechSynthesizerCreate e XSpeechSynthesizerSetCustomVoice criam uma instância de sintetizador de fala e, opcionalmente, atribuem a ela uma voz personalizada se uma ID de voz for especificada em voiceId. Em seguida, a função XSpeechSynthesizerCreateStreamFromText cria um fluxo do sintetizador de fala e sintetiza a fala a partir do texto sem formatação especificado em textToSpeak. Depois que o fluxo é criado, as funções XSpeechSynthesizerGetStreamDataSize e XSpeechSynthesizerGetStreamData recuperam do fluxo os dados de áudio da fala sintetizada a serem reproduzidos. Por fim, após a conclusão da reprodução dos dados de áudio, as funções XSpeechSynthesizerCloseStreamHandle e XSpeechSynthesizerCloseHandle fecham o fluxo do sintetizador de fala e o sintetizador de fala.

Requisitos

Cabeçalho: XSpeechSynthesizer.h Biblioteca: xgameruntime.lib Plataformas com suporte: Windows, consoles da família XBOX One e consoles XBOX Series

Documentação conceitual

Confira também

XAccessibility
XSpeechSynthesizerCloseHandle
XSpeechSynthesizer
Last modified on October 6, 2026