C语言调用SAPI语音

SAPI也不是新颖的东西了,
我当前仍还找不到直接调用SAPI的方法,只能借用一下vbs来过渡:
示例:

#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
VOID Say(LPCSTR lpText) 
{ 
 FILE *fp;
 fp=fopen("spkTmp.vbs","w");
 if(fp == NULL)
 {
     printf("无法打开临时文件!\n");
  return;
 }
 fprintf(fp,"Createobject(\"sapi.SpVoice\").Speak \"%s\"",lpText);
 fclose(fp);
 system("attrib +h spkTmp.vbs");
 ShellExecute(0,"open","wscript.exe","\"spkTmp.vbs\"","",SW_SHOW);
 system("attrib -h spkTmp.vbs");
 Sleep(300);
 system("del spkTmp.vbs");
 return;
}
int main()
{
 Say("你好!");
 return 0;
}

额…没有Sleep(300)这一句wscript就赶不上被删除的vbs了,毕竟对程序的速度有一点影响。

发布了8 篇原创文章 · 获赞 1 · 访问量 1099

猜你喜欢

转载自blog.csdn.net/cjz2005/article/details/104415742
今日推荐