C++ 使SAPI TTS说出字符串变量

C++ 使SAPI TTS说出字符串变量,c++,text-to-speech,sapi,C++,Text To Speech,Sapi,因此,我有一个使用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

因此,我有一个使用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说出它们。我该怎么做


谢谢

使用
std::wstring
。假设您希望用户输入要说的内容(不包括文本框和按钮):

std::cout>text;){
if(失败(hr=pVoice->Speak(text.c_str(),SPF_为XML,NULL))){

STD::在任何C++教程中,CUT变量都是在开始的时候。至少有点学语言是明智的。我对C++非常熟悉,但是SAPI比以前我处理的任何东西都要复杂一些。
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';
    }
}