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

📄 recorderdlg.h

📁 录音程序开发实例 EVC 4.0编译通过 ARMV4I 运行成功
💻 H
字号:
/****************************************Copyright (c)**************************************************
**						Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**							http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name:				RecorderDlg.h
** Last modified Date: 		2007.12.20
** Last Version:			V1.0
** Description: 			录音示例程序对话框类头文件
**                          	 
**------------------------------------------------------------------------------------------------------
** Created By: 				Fuqiang Song 宋福强
** Created date: 			2007.12.20
** Version: 				V1.0
** Descriptions:			The original version 初始版本
**
**
*********************************************************************************************************/
// RecorderDlg.h : header file
//

#if !defined(AFX_RECORDERDLG_H__01CCDA34_F8EB_423F_9D03_BB1F5CF45442__INCLUDED_)
#define AFX_RECORDERDLG_H__01CCDA34_F8EB_423F_9D03_BB1F5CF45442__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
typedef struct _WAVEFILEHEAD {											/*	定义Wave音频文件头结构体类	*/
																		/*	型							*/
	char	szRIFF[4];													/*	“RIFF”四个字符			*/
	DWORD	dwTotalSize;												/*	后面数据的总长度			*/
	char	szWAVE[4];													/*	“WAVE”四个字符			*/
	char	szFMT[4];													/*	“fmt ”四个字符			*/
	DWORD	dwChunk0Size;												/*	“fmt ”Chunk内容的长度		*/
	BYTE	Format[16];													/*	WAVEFORMATEX前16字节		*/
	char	szDATA[4];													/*	“data”四个字符			*/
	DWORD	dwChunk1Size;												/*	“data”Chunk内容的长度		*/
} WAVEFILEHEAD;
/////////////////////////////////////////////////////////////////////////////
// CRecorderDlg dialog

class CRecorderDlg : public CDialog
{
// Construction
public:
	BOOL			m_bRec;												/*	是否正在录音				*/
	DWORD			m_dwBufferLen;										/*	录音缓冲区长度				*/
	HANDLE			m_hRecStopEvent;									/*	录音停止通知事件			*/
	BYTE			*m_pBuffer;											/*	波形音频流数据缓冲区指针	*/
	WAVEFORMATEX	m_RecFormat;										/*	录音波型扩展格式			*/
	HWAVEIN			m_hwi;												/*	波形音频输入设备句柄		*/
	CFile			m_File;												/*	用于保存录音的文件的类		*/

	void			BuildWaveFileHead(WAVEFILEHEAD *filehead, WAVEFORMATEX format, DWORD dwDataLen);
	static DWORD	_stdcall RecordThread(LPVOID pData);
	CRecorderDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CRecorderDlg)
	enum { IDD = IDD_RECORDER_DIALOG };
	CEdit	m_btnPos;
	CString	m_strRecLen;
	CString	m_strSavePath;
	//}}AFX_DATA

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

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CRecorderDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnButtonRecord();
	afx_msg void OnButtonBrowse();
	afx_msg void OnButtonStop();
	afx_msg void OnDestroy();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_RECORDERDLG_H__01CCDA34_F8EB_423F_9D03_BB1F5CF45442__INCLUDED_)

⌨️ 快捷键说明

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