MFC 语音播放

win7以上(vista未考证),VS2008以上,不再需要Microsoft Speech SDK,直接引用头文件即可。
1、引用头文件,加载sapi.lib:
#include <sapi.h>
#include <sphelper.h>
#pragma comment(lib,sapi.lib)  

2、初始化COM,初始化 SAPI:
ISpVoice * pVoice = NULL; //初始化COM 
if (FAILED(CoInitialize(NULL))) 
{
AfxMessageBox("Error to intiliaze COM"); 
return false ; 
//初始化SAPI 
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); 
ISpObjectToken * pSpObjectToken = NULL; 
if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=804", NULL, &pSpObjectToken)))//804代表中文 
pVoice->SetVoice(pSpObjectToken);//声音大小
pVoice->SetRate(-2);//语速
pSpObjectToken->Release(); 
} else { 
AfxMessageBox("没有安装微软语音库!");
return false; 
 } 
//朗读编辑框中的文字 
if( SUCCEEDED( hr ) ) 

CString strText="语音测试";//引号是朗读的话 可以是中文    
hr = pVoice->Speak(strText.AllocSysString(), 0, NULL); 
pVoice->Release(); pVoice = NULL;
}
3、与CoInitialize(NULL)成对使用,释放COM
CoUninitialize();  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值