MicrosoftSpeechSDK开发包使用-飞外

开发包。我们首先从微软的官网上面开发包,地址如下:

http://www.microsoft.com/en-us/download/details.aspx?id=10121我们主要三个关键的程序:SpeechSDK51.exe 、 msttss22L.exe、SpeechSDK51LangPack.exe,将这三个下来即可。


环境配置。这里我们需要将您安装的Microsoft Speech SDK安装目录中的头文件目录,以及库文件目录添加到你的VC++6.0开发环境中。打开VC++开发工具,选择其中的 工具 - 选项 选项卡,然后安装如下图所示的图示操作:


编写一个简单的 Hello World! 语音播报程序。程序代码如下:

#include sphelper.h //语音头文件

#include stdio.h //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!");

return -1;

}

pSpVoice- Speak(L"Hello World!", SPF_DEFAULT, NULL);//执行语音变量的Speek函数,这个函数用来读文字。

pSpVoice- Release(); //释放语音变量

::CoUninitialize();//释放语音环境

return 0;

}

如果在调用TTS出现createdefaultobjectodd()错误,是因为声卡驱动某些服务没有开启:

1、开启如下:

A、按 win + R ,输入 Services.msc ;
B、 在服务列表中滚动,找到 Windows Audio ,看是否没有启动,如果没有,右键选启动。
此外,请检查以确保其相关服务项也已经启动:
多媒体类计划程序
远程过程调用
Windows 音频终结点生成器


如果是安装声卡驱动之后仍然无法打开音频设备的话,可以尝试以下的方法:
按win+R,在对话框内输入 (regedit) ,打开注册表编辑器;
然后点 编辑 栏,然后点 查找 ,或者按Ctrl+F;
在查找目标对话框内输入 (Audiosrv) ,记着把对话框下方的全字匹配打勾;
搜索完毕之后找到(RequiredPrivileges);
右键(RequiredPrivileges)修改,双击也行,把数据里面的后两项删除;
只保留(SeChangeNotifyPrivilege),然后点确定,OK了。

2、检查语音识别功能是否开启: