BCB5使用SAPI5.1执行语音识别全攻略
经历了2个多星期的反复摸索,先后安装VS2005的VC和C#,最后终于明白了如何在BCB5中使用语音识别,现将全过程记录下来,以便BCB的死忠们免的走弯路。
首先,要下载SAPI5.1这个是好无疑问了,但记住下载后不要调用里面的任何文件,只是装上去而已。
其次,下载bccsdk0.72,这个是一个开源的软件,里面提供了所需的所有文件,包括sapi.lib。
然后在项目的.h里面添加
#include "sphelper.h"
#include "sapi.h"
#pragma comment(lib,"ole32.lib")
#define MAX_EDIT_TEXT 1000
#define GID_DICTATION 0
#define WM_RECOEVENT WM_APP
#pragma warn -8055
运行,会提示缺少一些文件,在bccsdk里面的atl目录里面找到这些文件,复制到程序目录,然后把include <>改成include "",如果运行不报错的话,那么就可以正式开始编写代码了。
.h文件里面定义以下内容:
ISpRecoContext *m_cpRecoCtxt;
ISpRecoGrammar *m_cpDictationGrammar;
ISpRecognizer *cpRecoEngine;
ISpAudio *cpAudio;
CSpEvent event;
void RecoEvent(TMessage &Message);
#pragma option push -vi-
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_RECOEVENT,TMessage,RecoEvent)
END_MESSAGE_MAP(TForm)
#pragma option pop
然后在.cpp中写代码,代码太长了,下面写了,因为网站程序的原因,只能注册后可见了。