2013-05-05 7 views
0

그래서,이 프로그램이 말하는 :확인 SAPI TTS는이 같은 SAPI를 사용하여 문자열 변수

ISpVoice * pVoice = NULL; 

if (FAILED(::CoInitialize(NULL))) 
{ 
    return FALSE; 
} 

HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void  **)&pVoice); 
if(SUCCEEDED(hr)) 
{ 
    hr = pVoice->Speak(L"I can talk!", SPF_IS_XML, NULL); 
} 

을하지만 그 말을 변수를 선언 한 다음 SAPI를 갖고 싶어. 어떻게해야합니까?

감사

+0

변수는 C++ 자습서의 시작 부분 근처에 있습니다. 적어도 조금은 언어를 배우는 것이 현명한 방법입니다. – chris

+0

저는 C++에 익숙하지만 SAPI는 이전에 다루어 본 것보다 조금 복잡합니다. –

+0

SAPI에서 변수를 사용하는 경우에는 아무런 변화가 없습니다. – chris

답변

0

std::wstring를 사용합니다. 사용자가 무엇을 말 할지를 입력한다고 가정하십시오. (텍스트 상자와 버튼 제외)

std::cout << "Enter lines of text to speak:\n"; 
for (std::wstring text; std::wcin >> text;) { 
    if (FAILED(hr = pVoice->Speak(text.c_str(), SPF_IS_XML, NULL))) { 
     std::cout << "Sorry, the text could not be spoken. The error code is " << hr << '\n'; 
    } 
} 
+0

완벽하게 정리해 주셔서 감사합니다. –