Skip to main content

XSpeechSynthesizerCreate

Crée un synthétiseur vocal.

Syntaxe

Paramètres

speechSynthesizer   _Out_
Type : XSpeechSynthesizerHandle*
Handle du synthétiseur vocal créé.

Valeur de retour

Type : HRESULT Retourne S_OK en cas de réussite ; sinon, retourne un code d’erreur. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur.

Remarques

Il n’est pas sûr d’appeler cette fonction sur un thread sensible au temps. Pour plus d’informations, consultez Threads sensibles au temps.
Utilisez cette fonction pour créer une nouvelle instance de synthétiseur vocal et recevoir son handle ; cette instance donne accès aux fonctionnalités d’un moteur de synthèse vocale installé, ou voix. Par défaut, une nouvelle instance de synthétiseur vocal utilise la voix système actuelle. Pour énumérer les voix installées sur l’appareil actuel et obtenir des informations à leur sujet, utilisez la fonction XSpeechSynthesizerEnumerateInstalledVoices avec la fonction de rappel XSpeechSynthesizerInstalledVoicesCallback. Pour chaque voix installée, la structure XSpeechSynthesizerVoiceInformation fournit l’ID de la voix, sa description, son texte d’affichage, son genre, sa langue et d’autres informations. Appelez XSpeechSynthesizerSetCustomVoice pour utiliser une autre voix installée, ou appelez XSpeechSynthesizerSetDefaultVoice pour utiliser à nouveau la voix système actuelle. Après avoir créé un handle de synthétiseur vocal et spécifié une voix, utilisez la fonction XSpeechSynthesizerCreateStreamFromText pour créer un flux de synthétiseur vocal et synthétiser la parole à partir de texte brut. Utilisez les fonctions XSpeechSynthesizerGetStreamDataSize et XSpeechSynthesizerGetStreamData pour obtenir les données audio de la parole synthétisée à partir du flux du synthétiseur vocal, puis utilisez la fonction XSpeechSynthesizerCloseStreamHandle pour fermer le flux du synthétiseur vocal une fois toutes les opérations asynchrones en attente terminées. Utilisez la fonction XSpeechSynthesizerCloseHandle pour fermer le synthétiseur vocal et libérer les ressources système lorsque vous avez fini de l’utiliser. Pour éviter les fuites de mémoire, appelez la fonction XSpeechSynthesizerCloseHandle pour fermer un handle de synthétiseur vocal une fois que vous avez terminé toutes les opérations qui utilisent ce handle. L’exemple suivant montre comment synthétiser la parole à partir de texte brut à l’aide d’un synthétiseur vocal et d’une voix installée, et comment synthétiser des données audio avec un flux de synthétiseur vocal. Les fonctions XSpeechSynthesizerCreate et XSpeechSynthesizerSetCustomVoice créent une instance de synthétiseur vocal et, éventuellement, lui affectent une voix personnalisée si un ID de voix est spécifié dans voiceId. Ensuite, la fonction XSpeechSynthesizerCreateStreamFromText crée un flux de synthétiseur vocal et synthétise la parole à partir du texte brut spécifié dans textToSpeak. Une fois le flux créé, les fonctions XSpeechSynthesizerGetStreamDataSize et XSpeechSynthesizerGetStreamData récupèrent depuis le flux les données audio de la parole synthétisée à lire. Enfin, une fois la lecture des données audio terminée, les fonctions XSpeechSynthesizerCloseStreamHandle et XSpeechSynthesizerCloseHandle ferment le flux du synthétiseur vocal et le synthétiseur vocal.

Configuration requise

En-tête : XSpeechSynthesizer.h Bibliothèque : xgameruntime.lib Plateformes prises en charge : Windows, consoles de la famille XBOX One et consoles XBOX Series

Documentation conceptuelle

Voir aussi

XAccessibility
XSpeechSynthesizerCloseHandle
XSpeechSynthesizer
Last modified on October 6, 2026