主要是采用的接口是Microsoft Speech SDK。
Win7以上的系统不需要再次安装,首先包含头文件和库文件:
#include <sapi.h> // 导入语音头文件
#include <sphelper.h>// 导入语音识别头文件
#pragma comment(lib,"sapi.lib")
使用:
void CSpeechDemoDlg::OnBnClickedOk()
{
ISpVoice* pVoice = NULL; //初始化COM
if (FAILED(CoInitialize(NULL)))
{
AfxMessageBox(_T("Error to intiliaze COM"));
return;
}
// 初始化SAPI
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
ISpObjectToken* pSpObjectToken = NULL;
if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, _T("language=804"), NULL, &pSpObjectToken)))// 804代表中文
{
pVoice->SetVoice(pSpObjectToken); // 声音大小
pVoice->SetRate(-2);// 语速
pSpObjectToken->Release();
}
else
{
AfxMessageBox(_T("没有安装微软语音库!"));
return;
}
if (SUCCEEDED(hr))
{
CString strText = _T("播放语音测试文本");
hr = pVoice->Speak(strText.AllocSysString(), 0, NULL);
pVoice->Release();
pVoice = NULL;
}
CoUninitialize();
}
如果提示没有安装“安装微软语音库”,则要下载
微软语音库安装
即可
。