使用 microsoft sapi in mfc 合成語音(tts)最簡單的方式,轉貼自 CodeProject - 「MFC speaks easily!」
1. include "EasySpeech.h"
view plain
C++:
// EasySpeech.h 的內容
class CSpeechVoice : public COleDispatchDriver
{
public:
CSpeechVoice() {}
long Speak(LPCTSTR Text, long Flags)
{
long result;
static BYTE parms[] = VTS_BSTR VTS_I4 ;
InvokeHelper(0xc, DISPATCH_METHOD, VT_I4, (void*)&result, parms, Text, Flags);
return result;
}
};
class CEasySpeech
{
public:
CEasySpeech() { ::CoInitialize(NULL); m_oddSpeechVoice.CreateDispatch(_T("SAPI.SpVoice")); }
~CEasySpeech() { m_oddSpeechVoice.ReleaseDispatch(); ::CoUninitialize(); }
long Speak(const LPCTSTR psz) { return (psz && _tcslen(psz) [...]