www.pudn.com > 语音合成软件,含Freephone和Mbrora两个模块.zip > mbrplay.h


/* 
 * FPMs-TCTS SOFTWARE LIBRARY 
 * 
 * File    : mbrplay.cpp 
 * Purpose : MbrPlay main program 
 * Author  : Alain Ruelle 
 * Email   : ruelle@tcts.fpms.ac.be 
 * 
 * Copyright (c) 1997 Faculte Polytechnique de Mons (TCTS lab) 
 * All rights reserved. 
 * PERMISSION IS HEREBY DENIED TO USE, COPY, MODIFY, OR DISTRIBUTE THIS 
 * SOFTWARE OR ITS DOCUMENTATION FOR ANY PURPOSE WITHOUT WRITTEN 
 * AGREEMENT OR ROYALTY FEES. 
 */ 
#ifndef __MBRPLAY_H__ 
#define __MBRPLAY_H__ 
 
#define MBR_MSGINIT				1 
#define MBR_MSGREAD				2 
#define MBR_MSGWAIT				4 
#define MBR_MSGWRITE			8 
#define MBR_MSGEND				16 
#define MBR_MSGALL				31 
#define MBR_BYFILE				32 
#define MBR_WAIT				64 
#define MBR_CALLBACK			128 
#define MBR_QUEUED				256 
#define MBR_ASPHS				512 
 
#define MBROUT_SOUNDBOARD		0 
#define MBROUT_RAW				1024 
#define MBROUT_WAVE				2048 
#define MBROUT_AU				4096 
#define MBROUT_AIFF				8192 
 
#define MBROUT_ALAW				16384 
#define MBROUT_MULAW			32768 
 
#define MBROUT_DISABLED			65536 
 
#define MBRERR_NOMBROLADLL			-11 
#define MBRERR_NOREGISTRY			-10 
#define MBRERR_NORESOURCE			-9 
#define MBRERR_NOTHREAD				-8 
#define MBRERR_DATABASENOTVALID		-7 
#define MBRERR_CANTOPENDEVICEOUT	-6 
#define MBRERR_BADCOMMAND			-5 
#define MBRERR_CANTOPENFILE			-4 
#define MBRERR_WRITEERROR			-3 
#define MBRERR_MBROLAERROR			-2 
#define MBRERR_CANCELLEDBYUSER		-1 
#define MBRERR_NOERROR				0 
 
// Custom Windows Messages 
#ifdef __MBRPLAY_DLL_ 
#define WM_MBR_INIT				0 
#define WM_MBR_READ				1 
#define WM_MBR_WAIT				2 
#define WM_MBR_WRITE			3 
#define WM_MBR_END				4 
#else 
#define WM_MBR_INIT				(WM_USER+0x1BFF) 
#define WM_MBR_READ				(WM_USER+0x1C00) 
#define WM_MBR_WAIT				(WM_USER+0x1C01) 
#define WM_MBR_WRITE			(WM_USER+0x1C02) 
#define WM_MBR_END				(WM_USER+0x1C03) 
#endif 
 
typedef int (*LPPLAYCALLBACKPROC)(UINT msg, WPARAM wParam, LPARAM lParam); 
typedef BOOL (*LPENUMDATABASECALLBACK)(LPCTSTR lpszID,DWORD dwUserData); 
 
#ifdef __MBR_EXPORT 
#define DECLSPEC __declspec(dllexport) 
#else 
#define DECLSPEC __declspec(dllimport) 
#endif 
 
extern "C" 
{ 
// Synthesizer Input/Output Related Functions 
void DECLSPEC WINAPI MBR_MBRUnload(); 
LONG DECLSPEC WINAPI MBR_Play(LPCTSTR lpszText, DWORD dwFlags,LPCTSTR lpszOutFile,DWORD dwCallback); 
LONG DECLSPEC WINAPI MBR_Stop(); 
LONG DECLSPEC WINAPI MBR_WaitForEnd(); 
LONG DECLSPEC WINAPI MBR_SetPitchRatio(float fPitch); 
LONG DECLSPEC WINAPI MBR_SetDurationRatio(float fDuration); 
LONG DECLSPEC WINAPI MBR_SetVoiceFreq(LONG lFreq); 
LONG DECLSPEC WINAPI MBR_SetVolumeRatio(float fVol); 
float DECLSPEC WINAPI MBR_GetPitchRatio(); 
float DECLSPEC WINAPI MBR_GetDurationRatio(); 
LONG DECLSPEC WINAPI MBR_GetVoiceFreq(); 
float DECLSPEC WINAPI MBR_GetVolumeRatio(); 
LONG DECLSPEC WINAPI MBR_SetNoError(BOOL bNoError); 
BOOL DECLSPEC WINAPI MBR_GetNoError(); 
LONG DECLSPEC WINAPI MBR_SetDatabase(LPCTSTR lpszID); 
LONG DECLSPEC WINAPI MBR_SetDatabaseEx(LPCTSTR lpszID,LPCTSTR lpszRename,LPCTSTR lpszCopy); 
LONG DECLSPEC WINAPI MBR_GetDatabase(LPTSTR lpID, DWORD dwSize); 
BOOL DECLSPEC WINAPI MBR_IsPlaying(); 
LONG DECLSPEC WINAPI MBR_LastError(LPTSTR lpszError,DWORD dwSize); 
// Syntheszier General informations 
void DECLSPEC WINAPI MBR_GetVersion(LPTSTR lpVersion, DWORD dwSize); 
// Current Database Info 
LONG DECLSPEC WINAPI MBR_GetDefaultFreq(); 
LONG DECLSPEC WINAPI MBR_GetDatabaseInfo(DWORD idx, LPTSTR lpMsg, DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_GetDatabaseAllInfo(LPTSTR lpMsg, DWORD dwSize); 
// Registry Related Functions 
LONG DECLSPEC WINAPI MBR_RegEnumDatabase(LPTSTR lpszData,DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_RegEnumDatabaseCallback(LPENUMDATABASECALLBACK lpedCallback,DWORD dwUserData); 
LONG DECLSPEC WINAPI MBR_RegGetDatabaseLabel(LPCTSTR lpszID, LPTSTR lpLabel, DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_RegGetDatabasePath(LPCTSTR lpszID, LPTSTR lpPath, DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_RegGetDatabaseCount(); 
LONG DECLSPEC WINAPI MBR_RegGetDefaultDatabase(LPTSTR lpID, DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_RegSetDefaultDatabase(LPCTSTR lpszID); 
BOOL DECLSPEC WINAPI MBR_RegisterDatabase(LPCTSTR dbId,LPCTSTR dbPath,LPCTSTR dbLabel,BOOL isDef,LPTSTR lpBuffer,DWORD dwSize); 
BOOL DECLSPEC WINAPI MBR_UnregisterDatabase(LPCTSTR dbId); 
BOOL DECLSPEC WINAPI MBR_UnregisterAll(); 
BOOL DECLSPEC WINAPI MBR_DatabaseExist(LPCTSTR lpszID); 
// Registry Releated Functions, accessed by index 
BOOL DECLSPEC WINAPI MBR_RegIdxGetDatabaseId(LONG nIdx, LPTSTR lpszId, DWORD dwSize); 
BOOL DECLSPEC WINAPI MBR_RegIdxGetDatabasePath(LONG nIdx, LPTSTR lpszPath, DWORD dwSize); 
BOOL DECLSPEC WINAPI MBR_RegIdxGetDatabaseLabel(LONG nIdx, LPTSTR lpszLabel, DWORD dwSize); 
LONG DECLSPEC WINAPI MBR_RegIdxGetDatabaseIndex(LPCTSTR lpszID); 
LONG DECLSPEC WINAPI MBR_RegIdxGetDefaultDatabase(); 
// Control Panel Access 
DWORD DECLSPEC WINAPI MBR_StartControlPanel(HWND hParent); 
// Callback Message Base 
LONG DECLSPEC WINAPI MBR_SetCallbackMsgBase(DWORD dwBase); 
 
} // extern "C" 
 
#endif // __MBRPLAY_H__