Tutorial SAPI

Interface de programmation d'application vocale (SAPI) est une application console développée par Microsoft utilisé pour traduire le texte en parole. En utilisant cette application implique un certain nombre d'étapes, y compris la mise en place d'un projet, la mise en place de parole et la lecture de la parole.

Installer

En utilisant Microsoft Visual Studio, créez une application console Win32. Ouvrez le fichier stdafx.h et collez le code suivant après "#include <stdio.h>":

définir _ATL_APARTMENT_THREADEDinclude <atlbase.h>

Vous pouvez dériver une classe de CComModule et de l'utiliser si vous voulez remplacer quelque chose, mais ne pas changer le nom de _Module CComModule extern _Module;

include <atlcom.h>

Sélectionnez le pré-processeur de l'onglet déroulant Catégorie trouvé dans le C / C ++ onglet et entrez C: \ Program Files \ Microsoft Speech SDK 5.3 \ Include où il est dit Additional Include Directories.

Ajouter C: \ Program Files \ Microsoft Speech SDK 5.3 \ Lib \ i386 où il est dit Chemin de la bibliothèque supplémentaire, trouvé dans la zone de liste déroulante Category sous l'onglet Lien. Assurez-vous que le COM a été initialisé.

Voix

Créer une voix en créant un objet COM. Alternativement, vous pouvez utiliser les paramètres par défaut du système qui sélectionnent automatiquement un type de voix et le langage. La valeur par défaut peut être modifié en sélectionnant les propriétés de la parole dans le Panneau de configuration. Le code devrait maintenant ressembler à ceci:

include <stdafx.h> inclure <sapi.h>

int main (int argc, char * argv [])

{

ISpVoice * pVoice = NULL;

if (FAILED (:: CoInitialize (NULL)))

return FALSE;

HRESULT hr = CoCreateInstance (CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **) & pVoice;);

if (REUSSI (hr))

{

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

return TRUE;

}

Parlant

Démarrage parole, par exemple, obtenir l'ordinateur pour dire "Bonjour, monde," est une question d'ajouter une ligne de code. Le code final devrait ressembler à ceci, avec la fonction de parler en gras:

include <stdafx.h> inclure <sapi.h>

int main (int argc, char * argv [])

{

ISpVoice * pVoice = NULL;

if (FAILED (:: CoInitialize (NULL)))

return FALSE;

HRESULT hr = CoCreateInstance (CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **) & pVoice;);

if (REUSSI (hr))

{

hr = pVoice-> Parler (L "Bonjour tout le monde", 0, NULL);

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

return TRUE;

}