Tecnología

Inicio

SAPI Tutorial

interfaz de programación de aplicaciones de voz (SAPI) es una aplicación de consola desarrollado por Microsoft utiliza para traducir el texto en voz. El uso de esta aplicación implica una serie de pasos, incluyendo la creación de un proyecto, la creación de voz y reproducción de voz.

Preparar

El uso de Microsoft Visual Studio, cree una aplicación de consola Win32. Abra el archivo StdAfx.h y pegue el código siguiente después de "# include <stdio.h>":

definir _ATL_APARTMENT_THREADEDinclude <atlbase.h>

Es posible derivar una clase de CComModule y utilizarlo si desea reemplazar algo, pero no cambie el nombre de _Module _Module CComModule externo;

incluir <atlcom.h>

Seleccione el pre-procesador de la pestaña desplegable Categoría que se encuentra en la C / C ++ ficha e introduzca C: \ Archivos de programa \ Microsoft Speech SDK 5.3 \ Include donde dice Directorios de inclusión adicionales.

Añadir C: \ Archivos de programa \ Microsoft Speech SDK 5.3 \ Lib \ i386 donde dice Ruta de la biblioteca adicional, que se encuentra en el cuadro desplegable Categoría bajo la etiqueta de Enlace. Asegúrese de que el COM se ha inicializado.

voces

Crear una voz mediante la creación de un objeto COM. Como alternativa, puede utilizar la configuración predeterminada del sistema que seleccionan automáticamente un tipo de voz y lenguaje. Los valores predeterminados se pueden cambiar seleccionando Propiedades del discurso en el Panel de control. Ahora, el código debería tener este aspecto:

incluir <stdafx.hy> incluir <sapi.h>

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

{

ISpVoice * pVoice = NULL;

si (FALLO (:: CoInitialize (NULL)))

falso retorno;

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

si (SUCCEEDED (h))

{

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

return TRUE;

}

Hablando

A partir del habla, por ejemplo, conseguir la computadora para decir "Hola, mundo", es una cuestión de añadir una línea de código. El código final debe ser similar a este, con la función de hablar en negrita:

incluir <stdafx.hy> incluir <sapi.h>

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

{

ISpVoice * pVoice = NULL;

si (FALLO (:: CoInitialize (NULL)))

falso retorno;

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

si (SUCCEEDED (h))

{

h = pVoice-> Hablar (L "Hola mundo", 0, NULL);

pVoice-> Release ();

pVoice = NULL;

}

:: CoUninitialize ();

return TRUE;

}