tts_festival.cpp

来自「Powerful and Portable GPS application --」· C++ 代码 · 共 121 行

CPP
121
字号
/* *  Roadnav *  TTS-Festival.cpp * *  Copyright (c) 2004 - 2007 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 Festival/////////////////////////////////////////////////////////////////////////////////#ifdef HAVE_CONFIG_H#  include <config.h>#endif#ifdef _MSC_VER#pragma warning(disable: 4786)#endif#ifdef USE_FESTIVAL#include <wx/wx.h>#include "TTS_Festival.h"//////////////////////////////////////////////////////////////////////////////////// \brief Initialize TTS/////////////////////////////////////////////////////////////////////////////////TTS_Festival::TTS_Festival(){}//////////////////////////////////////////////////////////////////////////////////// \brief Clean up TTS/////////////////////////////////////////////////////////////////////////////////TTS_Festival::~TTS_Festival(){}//////////////////////////////////////////////////////////////////////////////////// \brief Name of this TTS engine/////////////////////////////////////////////////////////////////////////////////wxString TTS_Festival::Name(){	return wxT("Festival");}//////////////////////////////////////////////////////////////////////////////////// \brief Say some stuff using TTS/////////////////////////////////////////////////////////////////////////////////ITTS::ETTSStatus TTS_Festival::Speak(const wxString & strText){	wxChar * ppszArgs[4] = {wxT("sh"), wxT("-c"), NULL, NULL};	wxChar * pszArg2;	pszArg2 = new wxChar [64 + strText.Length()];	ppszArgs[2] = pszArg2;#ifdef UNICODE	swprintf(#else	snprintf(#endif			ppszArgs[2], 			64 + strText.Length(),			wxT("echo \\(SayText \\\"%ss\\\"\\) | festival"), 			strText.mb_str(*wxConvCurrent)			);	wxExecute(ppszArgs, wxEXEC_SYNC);	return ITTS::TTSStatusOK;}//////////////////////////////////////////////////////////////////////////////////// \brief Retrieve last error message/////////////////////////////////////////////////////////////////////////////////wxString TTS_Festival::GetLastError(){	return wxT("");}//////////////////////////////////////////////////////////////////////////////////// \brief Retrieve engine status/////////////////////////////////////////////////////////////////////////////////ITTS::ETTSStatus TTS_Festival::GetStatus(){	// always okay	return ITTS::TTSStatusOK;}#endif // #ifdef USE_FESTIVAL

⌨️ 快捷键说明

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