C++朗读中文文本

来源:互联网 发布:淘宝免费店招图片 编辑:程序博客网 时间:2024/05/16 04:58

        主要是采用的接口是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();}
      如果提示没有安装“安装微软语音库”,则要下载微软语音库安装即可

原创粉丝点击