SAPI Tutorial

May 28

Speech Application Programming Interface (SAPI) è un'applicazione console sviluppato da Microsoft utilizzato per tradurre il testo in voce. Utilizzando questa applicazione prevede una serie di misure, tra cui la creazione di un progetto, la creazione di parola e la riproduzione vocale.

Impostare

Utilizzando Microsoft Visual Studio, creare un'applicazione console Win32. Aprire il file stdafx.h e incollare il seguente codice dopo "# include <stdio.h>":

definire _ATL_APARTMENT_THREADEDinclude <atlbase.h>

Si può derivare una classe da CComModule e usarlo se si desidera ignorare qualcosa, ma non cambiare il nome del _TeLaiO DeL MODULO extern CComModule _TeLaiO DeL MODULO;

includere <Atlcom.h>

Selezionare il pre-processore dalla scheda Categoria discesa trovato nel C / C ++ scheda e digitare C: \ Program Files \ Microsoft Speech SDK 5.3 \ Include in cui si dice Directory di inclusione aggiuntive.

Aggiungere C: \ Program Files \ Microsoft Speech SDK 5.3 \ lib \ i386 in cui si dice Ulteriori Library Path, che si trova nella casella a discesa Categoria nella scheda Collegamento. Assicurarsi che il COM è stato inizializzato.

voci

Creare una voce attraverso la creazione di un oggetto COM. In alternativa, è possibile utilizzare le impostazioni predefinite del sistema che selezionano automaticamente un tipo di voce e linguaggio. Predefiniti possono essere modificati selezionando proprietà Discorso nel Pannello di controllo. Il codice dovrebbe apparire come questo:

includere <stdafx.h> includere <sapi.h>

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

{

ISpVoice * pVoice = NULL;

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

restituire FALSE;

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

if (SUCCEEDED (HR))

{

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

restituire TRUE;

}

A proposito di

A partire discorso, ad esempio, ricevendo il computer per dire "Ciao, mondo," è una questione di aggiungere una riga di codice. Il codice finale dovrebbe essere simile, con la funzione di parlare in grassetto:

includere <stdafx.h> includere <sapi.h>

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

{

ISpVoice * pVoice = NULL;

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

restituire FALSE;

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

if (SUCCEEDED (HR))

{

hr = pVoice-> Speak (L "Ciao mondo", 0, NULL);

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

restituire TRUE;

}