📄 recorderdlg.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 + -