-
下载开发包。我们首先从微软的官网上面下载开发包,下载地址如下:
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、检查语音识别功能是否开启:
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)