C++朗读中文文本

30 篇文章 1 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦逼的IT男

你的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值