void
Voice::say(
const
char
*text)
{
if
(m_bSound)
{
m_pVoice = NULL;
if
(FAILED(::CoInitialize(NULL)));
HRESULT
hr = CoCreateInstance(CLSID_SpVoice,NULL,CLSCTX_ALL,IID_ISpVoice,(
void
**)&m_pVoice);
if
(m_pVoice == NULL)
return
;
TCHAR
change[256] = {0};
int
wideLen = MultiByteToWideChar(CP_ACP,0,text,
strlen
(text),change,0);
int
ret = MultiByteToWideChar(CP_ACP,0,text,
strlen
(text),change,wideLen);
int
err = GetLastError();
TCHAR
*temp = change;
m_pVoice->SetRate(-1);
m_pVoice->Speak(change,SPF_ASYNC,NULL);
}
}