开发包。我们首先从微软的官网上面开发包,地址如下:
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、检查语音识别功能是否开启: