刚入门Microsoft Speech SDK,首先配置环境
配置环境后写入百度搜的测试小程序。
#include //语音头文件
#include //C头文件,用来提示错误信息
int main()
{
::CoInitialize(NULL);//初始化语音环境
ISpVoice * pSpVoice = NULL;//初始化语音变量
if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)&pSpVoice)))
//给语音变量创建环境,相当于创建语音变量,FAILED是个宏定义,就是来判断CoCreateInstance这个函数又没有成功创建语音变量,下面是不成功的提示信息。
{
printf("Failed to create instance of ISpVoice!\n");
return -1;
}
pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);//执行语音变量的Speek函数,这个函数用来读文字。
pSpVoice->Release(); //释放语音变量
::CoUninitialize();//释放语音环境
return 0;
}
然后,#include 出现了很多错误,我就从网上搜错误,一个个修改。
然后,又出现
1>c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(1002): error C4996: 'GetVersionExW': 被声明为已否决
1> c:\program files (x86)\windows kits\8.1\include\um\sysinfoapi.h(444) : 参见“GetVersionExW”的声明
我就改了SDL检查为否。
还是不行。没有声音出来,一直返回
printf("Failed to create instance of ISpVoice!\n");
return -1;
程序可以烧,结果永远都是窗口闪退,返回-1
调试了,跑不到pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);//执行语音变量的Speek函数,这个函数用来读文字。
这个断点