Skip to main content

XSpeechSynthesizerCreate

Crea un sintetizador de voz.

Sintaxis

Parámetros

speechSynthesizer   _Out_
Tipo: XSpeechSynthesizerHandle*
El identificador del sintetizador de voz creado.

Valor devuelto

Tipo: HRESULT Devuelve S_OK si se realiza correctamente; de lo contrario, devuelve un código de error. Para obtener una lista de códigos de error, consulte Códigos de error.

Comentarios

No es seguro llamar a esta función en un subproceso sensible al tiempo. Para obtener más información, consulte Subprocesos sensibles al tiempo.
Use esta función para crear y recibir el identificador de una nueva instancia de sintetizador de voz, que proporciona acceso a la funcionalidad de un motor de síntesis de voz instalado, o voz. De forma predeterminada, una nueva instancia de sintetizador de voz usa la voz actual del sistema. Para enumerar y obtener información sobre las voces instaladas en el dispositivo actual, use la función XSpeechSynthesizerEnumerateInstalledVoices junto con la función de devolución de llamada XSpeechSynthesizerInstalledVoicesCallback. Para cada voz instalada, la estructura XSpeechSynthesizerVoiceInformation proporciona el identificador de la voz, la descripción, el texto para mostrar, el género, el idioma y otra información. Invoque XSpeechSynthesizerSetCustomVoice para usar otra voz instalada, o invoque XSpeechSynthesizerSetDefaultVoice para volver a usar la voz actual del sistema. Después de crear un identificador de sintetizador de voz y especificar una voz, use la función XSpeechSynthesizerCreateStreamFromText para crear una secuencia de sintetizador de voz y sintetizar voz a partir de texto sin formato. Use las funciones XSpeechSynthesizerGetStreamDataSize y XSpeechSynthesizerGetStreamData para obtener los datos de audio de la voz sintetizada desde la secuencia del sintetizador de voz y, a continuación, use la función XSpeechSynthesizerCloseStreamHandle para cerrar la secuencia del sintetizador de voz una vez completadas todas las operaciones asincrónicas pendientes. Use la función XSpeechSynthesizerCloseHandle para cerrar el sintetizador de voz y liberar los recursos del sistema cuando haya terminado de usar el sintetizador de voz. Para evitar pérdidas de memoria, llame a la función XSpeechSynthesizerCloseHandle para cerrar un identificador de sintetizador de voz después de haber completado todas las operaciones que usan el identificador. El ejemplo siguiente muestra cómo sintetizar voz a partir de texto sin formato mediante un sintetizador de voz y una voz instalada, y cómo sintetizar datos de audio con una secuencia de sintetizador de voz. Las funciones XSpeechSynthesizerCreate y XSpeechSynthesizerSetCustomVoice crean una instancia de sintetizador de voz y, opcionalmente, le asignan una voz personalizada si se especifica un identificador de voz en voiceId. A continuación, la función XSpeechSynthesizerCreateStreamFromText crea una secuencia de sintetizador de voz y sintetiza voz a partir del texto sin formato especificado en textToSpeak. Una vez creada la secuencia, las funciones XSpeechSynthesizerGetStreamDataSize y XSpeechSynthesizerGetStreamData recuperan los datos de audio de la voz sintetizada que se reproducirá desde la secuencia. Finalmente, una vez completada la reproducción de los datos de audio, las funciones XSpeechSynthesizerCloseStreamHandle y XSpeechSynthesizerCloseHandle cierran la secuencia del sintetizador de voz y el sintetizador de voz.

Requisitos

Encabezado: XSpeechSynthesizer.h Biblioteca: xgameruntime.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX Series

Documentación conceptual

Consulte también

XAccessibility
XSpeechSynthesizerCloseHandle
XSpeechSynthesizer
Última modificación el 28 de agosto de 2026