// stdafx.cpp : 只包括标准包含文件的源文件 // TTSpeech.pch 将是预编译头 // stdafx.obj 将包含预编译类型信息 #include "stdafx.h" HINSTANCE g_hTTSpeeck = NULL; OpenSapi g_pOpenSapi = NULL; CloseSapi g_pCloseSapi = NULL; GetVoiceCount g_pGetVoiceCount = NULL; GetVoiceName g_pGetVoiceName = NULL; Text2Speech g_pText2Speeck = NULL; SetSpeech g_pSetSpeeck = NULL; Speak g_pSpeak = NULL; Play g_pPlay = NULL; BOOL LoadText2Speeck() { if ( g_hTTSpeeck == NULL ) { g_hTTSpeeck = ::LoadLibrary(_T("Text2Speeck.dll")); if ( g_hTTSpeeck == NULL ) return FALSE; g_pOpenSapi = (OpenSapi)::GetProcAddress(g_hTTSpeeck, "OpenSapi"); g_pCloseSapi = (CloseSapi)::GetProcAddress(g_hTTSpeeck, "CloseSapi"); g_pText2Speeck = (Text2Speech)::GetProcAddress(g_hTTSpeeck, "Text2Speech"); g_pGetVoiceCount = (GetVoiceCount)::GetProcAddress(g_hTTSpeeck, "GetVoiceCount"); g_pGetVoiceName = (GetVoiceName)::GetProcAddress(g_hTTSpeeck, "GetVoiceName"); g_pSetSpeeck = (SetSpeech)::GetProcAddress(g_hTTSpeeck, "SetSpeech"); g_pSpeak = (Speak)::GetProcAddress(g_hTTSpeeck, "Speak"); g_pPlay = (Play)::GetProcAddress(g_hTTSpeeck, "Play"); } return TRUE; } void FreeTex2Speeck() { if (g_hTTSpeeck != NULL) { FreeLibrary(g_hTTSpeeck); } g_pOpenSapi = NULL; g_pCloseSapi = NULL; g_pText2Speeck = NULL; g_pGetVoiceCount = NULL; g_pGetVoiceName = NULL; g_pSetSpeeck = NULL; g_pSpeak = NULL; }