wavedlg.h

来自「用eVC开发的WinCE 4.0环境下的声音采集和并保存为WAVE格式」· C头文件 代码 · 共 88 行

H
88
字号
// WAVEDlg.h : header file
//

#if !defined(AFX_WAVEDLG_H__F817FEA6_8A4A_4C35_BE4E_13902A5E91CF__INCLUDED_)
#define AFX_WAVEDLG_H__F817FEA6_8A4A_4C35_BE4E_13902A5E91CF__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

/////////////////////////////////////////////////////////////////////////////
// CWAVEDlg dialog
#define  INP_BUFFER_SIZE 16384

typedef struct{
	DWORD dwRIFF;
	DWORD dwFileLen;
	DWORD dwWAVE;
	DWORD dw_fmt;
	DWORD dwFmtLen;
	WORD  wDataType;
	WORD  wNChannels;
	DWORD dwSamplingRate;
	DWORD dwNBytesPerSec;
	WORD  wAlignment;
	WORD  wNBitsPerSam;
	DWORD dwdata;
	DWORD dwDataLen;
}WAVEHEADER;


class CWAVEDlg : public CDialog
{
// Construction
public:
	CFile outWaveFile;
	WAVEHEADER WvH2;
	WAVEHEADER WvH;
	CWAVEDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CWAVEDlg)
	enum { IDD = IDD_WAVE_DIALOG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CWAVEDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;	
	BOOL bRecording,bPlaying,bReverse,bPaused,bEnding,bTerminating;
	DWORD dwDataLength,dwRepetitions;
	HWAVEIN hWaveIn;
	HWAVEOUT hWaveOut;
	PBYTE pBuffer1,pBuffer2,pSaveBuffer,pNewBuffer;
	PWAVEHDR pWaveHdr1,pWaveHdr2;
	WAVEFORMATEX waveform;

	// Generated message map functions
	//{{AFX_MSG(CWAVEDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnStart();
	afx_msg void OnClose();
	afx_msg void OnPlay();
	afx_msg void OnSave();
	afx_msg void OnMM_WIM_OPEN(UINT wParam,LONG lParam);
	afx_msg void OnMM_WIM_DATA(UINT wParam,LONG lParam);
	afx_msg void OnMM_WIM_CLOSE(UINT wParam,LONG lParam);
	afx_msg void OnMM_WOM_OPEN(UINT wParam,LONG lParam);
	afx_msg void OnMM_WOM_DONE(UINT wParam,LONG lParam);
	afx_msg void OnMM_WOM_CLOSE(UINT wParam,LONG lParam);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnPlayPause();
	afx_msg void OnPlayStop();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WAVEDLG_H__F817FEA6_8A4A_4C35_BE4E_13902A5E91CF__INCLUDED_)

⌨️ 快捷键说明

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