目录
前言
在测试过程中为了更高效的提示操作者,在程序执行时增加语音提醒会方便很多,利用微软的SAPI可以很方便的在程序有问题时提示操作者。
一、认识SAPI
SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。
二、使用方法
利用程序创建VSB脚本,VSB中调用sapi.SpVoice朗读文本
:
#define VBS_SD_CODE "Set fso = CreateObject(\"Scripting.FileSystemObject\")\n"\
"fso.DeleteFile(WScript.ScriptFullName)"
void Say(const char * lpText, uint8_t delSelf)
{
FILE* fp;
fp = fopen("spkTmp.vbs", "w");
if (fp == NULL)
{
return;
}
if (delSelf)
{
fprintf(fp, "createobject(\"sapi.SpVoice\").Speak \"%s\" \n"
VBS_SD_CODE
, lpText);
}
else {
fprintf(fp, "createobject(\"sapi.SpVoice\").Speak \"%s\" \n", lpText);
}
fclose(fp);
system("attrib +h spkTmp.vbs");
ShellExecute(0, TEXT("open"), TEXT("wscript.exe"), TEXT("\"spkTmp.vbs\""), TEXT(""), SW_SHOW);
system("attrib -h spkTmp.vbs");
return;
}
int main()
{
std::cout << "Hello World!\n";
Say("运行正常, Goog job", 0);
}
三、测试效果
SAPI效果展示
总结
利用SAPI可以快速方便的完成需要的功能