目录
前言
一、认识SAPI
二、使用方法
三、测试效果编辑
总结
前言
在测试过程中为了更高效的提示操作者,在程序执行时增加语音提醒会方便很多,利用微软的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可以快速方便的完成需要的功能