南宁网站定制公司,龙华网络推广方式,在线3d建模网站,贵阳网站设计模板Microsoft Speech SDK下载地址 https://www.microsoft.com/en-us/download/details.aspx?id10121 需要msttss22L.exe、SpeechSDK51.exe、SpeechSDK51LangPack.exe三个#xff0c;下载后全部安装 使用VS2005建立一个win32控制台项目 朗读hello word、中文“你好”…Microsoft Speech SDK下载地址 https://www.microsoft.com/en-us/download/details.aspx?id10121 需要msttss22L.exe、SpeechSDK51.exe、SpeechSDK51LangPack.exe三个下载后全部安装 使用VS2005建立一个win32控制台项目 朗读hello word、中文“你好”的程序
#include sphelper.h//语音头文件
#include stdio.hint main(int argc, char* argv[])
{ISpVoice * pSpVoice NULL;//初始化语音变量::CoInitialize(NULL);//初始化语音环境//给语音变量创建环境相当于创建语音变量FAILED是个宏定义就是来判断CoCreateInstance这个函数又没有成功创建语音变量下面是不成功的提示信息。if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)pSpVoice))){printf(Failed to create instance of ISpVoice! ); return -1;}pSpVoice-Speak(LHello World!你好, SPF_DEFAULT, NULL);//执行语音变量的Speek函数这个函数用来读文字。pSpVoice-Release(); //释放语音变量::CoUninitialize();//释放语音环境getchar();return 0;
}
点击项目属性配置属性c/c。设置附加包含目录就是sdk安装目录下的include文件夹 链接器常规附加库目录就是sdk的lib\i386文件夹 链接器输入附加依赖项添加sapi.lib 使用vs2005编译链接会出现报错
1c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(769) : error C4430: 缺少类型说明符 - 假定为 int。注意: C 不支持默认 int
1c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(1419) : error C4430: 缺少类型说明符 - 假定为 int。注意: C 不支持默认 int
1c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(2373) : error C2065: “psz”: 未声明的标识符
1c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(2559) : error C2440: “初始化”: 无法从“CSpDynamicString”转换为“SPPHONEID *”
1 没有可用于执行该转换的用户定义的转换运算符或者无法调用该运算符
1c:\program files (x86)\microsoft speech sdk 5.1\include\sphelper.h(2633) : error C2664: “wcslen”: 不能将参数 1 从“SPPHONEID *”转换为“const wchar_t *”SAPI 包含sphelper.h编译错误解决方案 在使用Microsoft Speech SDK 5.1开发语音识别程序时包含了头文件“sphelper.h”和库文件“sapi.lib” 对sphelper.h的修改 Line 769
const ulLenVendorPreferred wcslen(pszVendorPreferred);
修改为
const unsigned long ulLenVendorPreferred wcslen(pszVendorPreferred);Line 1418
static CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX)修改为
static HRESULT CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX)Line 2372
for (const WCHAR * psz (const WCHAR *)lParam; *psz; psz) {}修改为
const WCHAR * psz; for (psz (const WCHAR *)lParam; *psz; psz) {}Line 2559
SPPHONEID* pphoneId dsPhoneId;修改为
SPPHONEID* pphoneId (SPPHONEID*)((WCHAR *)dsPhoneId);Line 2633
pphoneId wcslen(pphoneId) 1;修改为
pphoneId wcslen((const wchar_t *)pphoneId) 1;之后编译通过运行会朗读文本 Microsoft Speech SDK不仅支持Text to Speech(TTS)文字转语音还支持Speech Recognition(SR)语音识别功能可以自己尝试 下载 修改后的sphelper.h头文件 https://download.csdn.net/download/m0_60352504/88275713 Microsoft Speech SDK https://download.csdn.net/download/m0_60352504/88275709