Win7下 tts开发


VC6.0
#include <sphelper.h>
#include <sapi.h>
#pragma comment(lib,“ole32.lib”) //CoInitialize CoCreateInstance需要调用ole32.dll
#pragma comment(lib,“sapi.lib”) //sapi.lib在SDK的lib目录,必需正确配置

void CDlgTTS::OnOK()
{
// TODO: Add extra validation here
::CoInitialize(NULL);//初始化
ISpVoice * pSpVoice = NULL;//初始化

if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)&pSpVoice)))//给语音变量创建环境,
{
    //失败的提示信息
	AfxMessageBox("语音初始化失败!\n");
	return ;
}

pSpVoice->SetVolume(100);

IEnumSpObjectTokens *pSpEnumTokens = NULL;
if (SUCCEEDED(SpEnumTokens(SPCAT_VOICES, NULL, NULL, &pSpEnumTokens)))		
{
	ISpObjectToken *pSpToken = NULL;
	while (SUCCEEDED(pSpEnumTokens->Next(1, &pSpToken, NULL)) && pSpToken != NULL)
	{
		LPWSTR pId = new WCHAR[32];
		pSpToken->GetId(&pId);
		
		int nLen = WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)pId, -1, NULL, 0, NULL, NULL);
		
		char *s = new char[nLen + 1];
		WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)pId, -1, s, nLen, NULL, NULL);
		
		if (0 == strcmp(s, ("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MS-Lili-2052-20-DSK")))//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MS-Anna-1033-20-DSK
		//if (0 == strcmp(s, ("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MS-Anna-1033-20-DSK")))//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MS-Anna-1033-20-DSK
		{
			pSpVoice->SetVoice(pSpToken);      
			pSpToken->Release();
			delete[] s;
			break;
		}
		delete[] s;
		pSpToken->Release();
	}
	pSpEnumTokens->Release();
}
else
{
	retrun;
}
pSpVoice->SetRate(-1); 
pSpVoice->Speak(L"Hello World!",SPF_DEFAULT,NULL);//执行语音变量的Speek函数,这个函数用来读文字,并发声。
pSpVoice->Speak(L"大家好,我是机器人!",SPF_DEFAULT,NULL);
pSpVoice->Speak(L"京,1 2 Z 8 9 4 3 已经 入位!",SPF_DEFAULT,NULL);
pSpVoice->Speak(L"设备 已 启动",SPF_DEFAULT,NULL);
pSpVoice->Speak(L"启请不要  移动设备 ,!",SPF_DEFAULT,NULL);

pSpVoice->Release(); //释放语音变量

::CoUninitialize();//释放语音环境

}

环境搭建:
1.下载开发环境 所需包文件
地址:https://download.csdn.net/download/lwbailw/39483899
2.搭建说明(会的可以忽略)
1)先安装SDK(记住路径)
2)再装中文语言包
3)打开VC->Tool->Option…->Directories进行设置
(1)在include files 里添加 路径1里的include文件夹
(2)在library files 里添加 路径1里的lib\i386文件夹

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐