#include <iostream>
#include <sapi.h> // Asegúrate de tener la biblioteca SAPI
int main() {
// Inicializar COM
CoInitialize(NULL);
// Crear el objeto de reconocimiento de voz
ISpRecognizer *pRecognizer = NULL;
HRESULT hr = CoCreateInstance(CLSID_SpInprocRecognizer, NULL, CLSCTX_ALL, IID_ISpRecognizer, (void **)&pRecognizer);
if (SUCCEEDED(hr)) {
// Crear el contexto de reconocimiento
ISpRecoContext *pContext = NULL;
pRecognizer->CreateRecoContext(&pContext);
// Configurar el reconocimiento de voz
ISpRecoGrammar *pGrammar = NULL;
pContext->CreateGrammar(1, &pGrammar);
pGrammar->LoadDictation(NULL, SPLO_STATIC);
pGrammar->SetDictationState(SPRS_ACTIVE);
// Comenzar el reconocimiento
std::cout << "Diga un número: " << std::endl;
while (true) {
// Esperar a que se reconozca una palabra
SPRECOSTATE state;
pContext->GetState(&state);
if (state == SPRS_ACTIVE) {
// Aquí se puede agregar el código para manejar el resultado
// Por simplicidad, se omite el manejo de eventos
}
}
// Liberar recursos
pGrammar->Release();
pContext->Release();
pRecognizer->Release();
}
// Finalizar COM
CoUninitialize();
return 0;
}