网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C++桌面应用中文语音包功能接口-创新互联

使用之前需要先安装中文语音包(男声+女声安装包下载)
Voice.h文件
(头文件包含的lib库资源如果缺失,百度下载或我的资源)

成都创新互联一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过10多年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务服务器托管雅安成都app软件开发公司、手机移动建站、网页设计、网络整合营销。
#pragma once
#ifdef _MSC_VER
#pragma warning (push)
#pragma warning (disable : 4005)
#include#pragma warning (pop)
#pragma warning (default : 4005)
#endif

#include#include#include#pragma comment(lib,"ole32.lib") 
#pragma comment(lib,"sapi.lib")  

class CVoice
{public:
	CVoice(void);
	~CVoice(void);
private:
	ISpVoice * pVoice ;
	bool     m_State;
	void     InitVoice();
	void     CloseVoice();
public:
	void     Speech(CString str,bool flag =true);
	void     SetRate(int rate);
	void     SetVoiceType(int voicetype);	//设置1:男声;2:女声
};

Voice.cpp文件

#include "StdAfx.h"
#include "Voice.h"

CVoice::CVoice(void)
{m_State =false;
	InitVoice();
}

CVoice::~CVoice(void)
{CloseVoice();
}

void CVoice::InitVoice()
{pVoice =NULL;
	if (FAILED(::CoInitialize(NULL)))
		return ; 

	HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); 
	if( SUCCEEDED( hr ) ) 
	{ISpObjectToken* pChineseToken; 
		WCHAR pszTokenId[] =L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\VW Liang";

        SpGetTokenFromId(pszTokenId , &pChineseToken);

		pVoice->SetVoice(pChineseToken);
		pVoice->SetVolume(100);
		pVoice->SetRate(1);
	}
	m_State =true;
}

void CVoice::CloseVoice()
{if(pVoice !=NULL)
	{pVoice->Release(); 
		pVoice = NULL; 
	}
	if(m_State ==true)
		::CoUninitialize(); 
}
	
void CVoice::SetRate(int rate)
{pVoice->SetRate(rate);
}

void CVoice::SetVoiceType(int voicetype)
{if (voicetype == 1)
	{ISpObjectToken* pChineseToken; 
		//		WCHAR pszTokenId[] =L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\VW Lily";
		WCHAR pszTokenId[] =L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\VW Liang";

		SpGetTokenFromId(pszTokenId , &pChineseToken);
		pVoice->SetVoice(pChineseToken);
	}
	else
	{ISpObjectToken* pChineseToken; 
		WCHAR pszTokenId[] =L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\VW Lily";

		SpGetTokenFromId(pszTokenId , &pChineseToken);
		
		pVoice->SetVoice(pChineseToken);
	}
}

void CVoice::Speech(CString str,bool flag)
{USES_CONVERSION;
    LPWSTR pwStr=new wchar_t[str.GetLength()+1];
    wcscpy_s(pwStr,str.GetLength()+1,T2W((LPCTSTR)str));
    
	if(flag ==true)
		pVoice->Speak( pwStr, SPF_ASYNC, NULL); 
	else
		pVoice->Speak( pwStr, SPF_DEFAULT, NULL); 

	delete[] pwStr;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:C++桌面应用中文语音包功能接口-创新互联
本文路径:http://bjjierui.cn/article/ggeie.html

其他资讯