⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tts-win32.cpp

📁 roadnav 内含一个基于wxWindows库的车载导航系统。编译后
💻 CPP
字号:
/* *  Roadnav *  TTS-Win32.cpp * *  Copyright (c) 2004 - 2006 Richard L. Lynch <rllynch@users.sourceforge.net> * *  This program is free software; you can redistribute it and/or *  modify it under the terms of version 2 of the GNU General Public License *  as published by the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *////////////////////////////////////////////////////////////////////////////////// \file////// Text to speech functions using Microsoft SAPI 5.1/////////////////////////////////////////////////////////////////////////////////#ifdef HAVE_CONFIG_H#  include <config.h>#endif#ifdef _MSC_VER#pragma warning(disable: 4786)#endif#include <wx/wx.h>#if defined(__WINDOWS__)#include <stdio.h>#include <sphelper.h>static CComPtr<ISpVoice> g_cpVoice = NULL;//////////////////////////////////////////////////////////////////////////////////// \brief Initialize TTS/////////////////////////////////////////////////////////////////////////////////bool TTSLoad(){    return FAILED(g_cpVoice.CoCreateInstance(CLSID_SpVoice));}//////////////////////////////////////////////////////////////////////////////////// \brief Say some stuff using TTS/////////////////////////////////////////////////////////////////////////////////bool TTSSpeak(const char * pszText){	wchar_t * pwszText;	if (!g_cpVoice)	{		// not initialized (MS SAPI 5 probably not installed)		return true;	}	pwszText = new wchar_t [strlen(pszText) + 1];	mbstowcs(pwszText, pszText, strlen(pszText) + 1);	g_cpVoice->Speak(pwszText, 0, NULL);	delete pwszText;	return false;}//////////////////////////////////////////////////////////////////////////////////// \brief Clean up TTS/////////////////////////////////////////////////////////////////////////////////bool TTSUnload(){	if (g_cpVoice)		g_cpVoice.Release();	g_cpVoice = NULL;	return false;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -