-
下载开发包。我们首先从微软的官网上面下载开发包,下载地址如下:
http://www.microsoft.com/en-us/download/details.aspx?id=10121我们主要下载三个关键的程序:SpeechSDK51.exe 、 msttss22L.exe、SpeechSDK51LangPack.exe,将这三个下载下来即可。
-
安装sdk。分别将下载的三个安装包解压安装就可以了(记住安装目录)。
-
环境配置。这里我们需要将您安装的Microsoft Speech SDK安装目录中的头文件目录,以及库文件目录添加到你的VC++6.0开发环境中。打开VC++开发工具,选择其中的“工具”->“选项”选项卡,然后安装如下图所示的图示操作:
-
新建一个Win32 console Application工程。添加一个cpp源文件。具体操作如下图所示:
-
编写一个简单的“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!\n");
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、检查语音识别功能是否开启: