2013-05-05 24 views
0

所以,我有一個程序,我使用SAPI這樣的:讓SAPI TTS說話字符串變量

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 2013-05-05 04:03:30

+0

我對C++非常熟悉,但SAPI比我以前處理的任何事情都要複雜一些。 – 2013-05-05 04:07:01

+0

關於在SAPI中使用變量沒有任何變化。 – chris 2013-05-05 04:12:09

回答

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

完美,謝謝你的清理。 – 2013-05-05 06:18:03