如何用vc++开发语音识别应用,包括VS008升级报错问题,不要VC6.0的

解决方案 »

  1.   

    用Microsoft Speech SDK开发 CLSID CLSID_SpVoice;    // class ID for the SAPI SpVoice object
    LPDISPATCH pDisp;       // dispatch interface for the class
    ISpeechVoice voice;     // use the MFC Class Wizard generated wrapper

    ISpeechObjectTokens voiceList;
    ISpeechObjectToken recoObject;
    CLSIDFromProgID(L"SAPI.SpVoice", &CLSID_SpVoice);
    voice.CreateDispatch(CLSID_SpVoice); 
    pDisp = voice.m_lpDispatch; 

    HRESULT hr = pDisp->QueryInterface(CLSID_SpVoice, (void**)&voice.m_lpDispatch); 

    if (hr == S_OK) 

    pDisp->Release(); 

    else 

    voice.AttachDispatch(pDisp, TRUE); 
    }
    voice.SetRate(0);

    voice.SetVolume(100);
    SYSTEMTIME st;
    GetLocalTime(&st);

    CString str;
    str.Format("<lang langid=\"804\">现在是<context ID = \"CHS_Date_ymdhm\">%.4d-%.02d-%.2d %.2d:%.02d</context></lang>", 
       st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute); voice.Speak("<lang langid=\"804\">xx你好!</lang>", 1);
    voice.Speak(str, 1);