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

📄 wavex.h

📁 TAPI编程应用
💻 H
字号:
// A Header file for wave functions for dialer/talker
// (c) Dialogic corp. 1995, 1996

typedef struct _wavecashedinfo		// for temporary storage
{
	int nDeviceID;
	int nFormatID;
	WAVEFORMATEX WF;
} CASHEDINFO, *PCASHEDINFO;

class CTapiWave : public CObject
{
	DECLARE_DYNAMIC(CTapiWave)

// Attributes
	protected:
		CTapiWave();

	public:
		LPVOID 		m_lpvCall;		// only one call 
		LPVOID 		m_lpvLine;		// line
		DWORD		m_dwLineID;
		static	WAVEFORMATEX wfDialogicFormats[12];
		
 	protected:
		HWAVEIN 	m_hWaveIn;
		HWAVEOUT 	m_hWaveOut;
		DWORD 		m_dwState;
		DWORD		m_dwVolume;
		char 		m_szRecFileName[16]; // file name for recording 
				
	public:
		CTapiWave(LPVOID lpLine, LPVOID lpCall, DWORD dwLineID);
		//virtual ~CTapiWave();
                                         
	int 		ctwGetID(LPSTR);					// Get ID by name
	BOOL	 	ctwPlay(HWND, UINT, LPSTR); 		// play the WAVE file
	BOOL 		ctwRecord(HWND hWnd, UINT nID, int nFormatID=10, DWORD dwSize=65534);	// record the Wave file
	BOOL 		ctwPause();							// Pause
	BOOL		ctwResume();						// Resume
	BOOL		ctwStop();							// Stop
	void 		ctwFinishPlay(WPARAM, LPARAM); 	// handle the driver notification
	void 		ctwFinishRecord(WPARAM wParam, LPARAM lParam, LPSTR lpName=NULL); 	// handle the driver notification
	DWORD 		ctwGetState()					// Extract state
	{return m_dwState;}
	HWAVE 		ctwGetHWave(WORD wFlag)
	{return wFlag == WAVEIN ? (HWAVE)m_hWaveIn : wFlag == WAVEOUT ? (HWAVE)m_hWaveOut : (HWAVE)0xffffffff;} 
	DWORD 		ctwGetVolume() {return m_dwVolume;}
	void 		ctwSetVolume(DWORD dwVol=0xffff);


	protected:

	HWAVEOUT 	WavexPlay(HWND, UINT, LPSTR); 				// play the WAVE file
	HWAVEIN		WavexRecord(HWND hWnd, UINT nID, int nFormatID=10, DWORD dwBufSize=65534);	// record the Wave file
	void 		WavexFinishPlay(WPARAM, LPARAM); 	// handle the driver notification
	void 		WavexFinishRecord(WPARAM, LPARAM, LPSTR); 	// handle the driver notification
	void 		WavexSaveData(LPWAVEHDR, LPSTR);
	DWORD 		ctwSetState(DWORD dwNewState)	            	// Set state
	{return (DWORD)InterlockedExchange((LPLONG)&m_dwState, (LONG)dwNewState);} 

}; 
 

⌨️ 快捷键说明

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