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

📄 wavedlg.h

📁 用eVC开发的WinCE 4.0环境下的声音采集和并保存为WAVE格式
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -