www.pudn.com > AudioWave.rar > AudioDlg.h
// AudioDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mci.h"
#include "WaveBase.h"
#include "WaveProcess.h"
#include "Sound.h"
//}}AFX_INCLUDES
#if !defined(AFX_AUDIODLG_H__9C7A1F59_C609_49DA_BB3B_30F993EEDC44__INCLUDED_)
#define AFX_AUDIODLG_H__9C7A1F59_C609_49DA_BB3B_30F993EEDC44__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CAudioDlg dialog
class CAudioDlg : public CDialog
{
// Construction
public:
DWORD m_dwSizeSound; //声音采样点的数量
char *m_pcSoundData; //8bit采样的声音数据
int m_nSamplesPerSec; //每秒采样点数
WORD m_wBitsPerSample; //采样位数
float *m_pfSoundData; //采样的声音浮点数据
float *m_pfRecData; //采样的声音浮点数据
short m_shEmendation; //校正
BOOL m_bSoundStart;
CWaveBase m_WaveBase;
DWORD m_dwOffSet; //起始音频数据
DWORD m_dwOffSetBak; //起始音频数据备份
int m_nViewWidth; //视区宽度
int m_nViewHeight; //视区高度
CRect m_ClientRect;
BOOL m_bPlaying;
CPen m_PenAxis;
CPen m_PenWave[6];
int m_nViewType; //判断画图类型
CString m_strOriAudioFile; //原始声音文件名
CString m_strResAudioFile; //结果声音文件名
double *m_pdReFFT; //信号FFT实部
double *m_pdImFFT; //信号FFT虚部
float *m_pfDCT; //信号DCT系数
int m_nPower; //FFT处理信号长度
int m_nListCount; //列表计数
int m_nTestCount; //测试计数
float m_fMusicalScale[84]; //音阶
void InitMci(); //初始化Mci
CAudioDlg(CWnd* pParent = NULL); // standard constructor
long ConvertOffsetToTime(DWORD dwOffSet);
void DrawWave(CPen *pPenWaveColor);
void DrawWave8bit(CPen *pPenWaveColor);
void DrawWaveFFT_Energy();
void DrawWaveDCT();
void DrawSimulate(float *pfSimulate, CPen *pPenWaveColor);
char ChangeFormat(char t); //转化格式
char RestrictToChar(float t); //限制声音数据范围char
short RestrictToShort(float t); //限制声音数据范围short
DWORD ConvertTimeToOffset(long time);
void BrushRect(); //刷新区域
void SaveAudioWaveFile(); //保存声音文件
int m_nFlagReal; //实时检测标制
BOOL m_bTest; //实时检测标志
CSound Sound;
void DrawSoundIn(CPen *pPenWaveColor);
void InitDraw();
// Dialog Data
//{{AFX_DATA(CAudioDlg)
enum { IDD = IDD_AUDIO_DIALOG };
CListBox m_ListBox_Info;
CButton m_cCheckResult;
CStatic m_cView;
CScrollBar m_cScrollBar;
BOOL m_bCheckColor;
BOOL m_bCheckCycle;
CString m_strEditAllTime;
int m_nEditChannel;
int m_nEditPointPerSec;
int m_nEditPosition;
int m_nEditWholeLength;
int m_nEditZoomX;
float m_fEditZoomY;
Cmci m_cMci;
int m_nEditBit;
DWORD m_dwEditOffSet;
BOOL m_bCheckResult;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAudioDlg)
public:
virtual BOOL DestroyWindow();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CAudioDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnFileOpenAudioWave();
afx_msg void OnPlayClickMmcontrolAudio(short FAR* Cancel);
afx_msg void OnCheckCycle();
afx_msg void OnStopClickMmcontrolAudio(short FAR* Cancel);
afx_msg void OnPrevClickMmcontrolAudio(short FAR* Cancel);
afx_msg void OnNextClickMmcontrolAudio(short FAR* Cancel);
afx_msg void OnStopGotFocusMmcontrolAudio();
afx_msg void OnPlayGotFocusMmcontrolAudio();
afx_msg void OnDoneMmcontrolAudio(short FAR* NotifyCode);
afx_msg void OnChangeEditZoomx();
afx_msg void OnChangeEditZoomy();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnChangeEditOffset();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnFileSaveAudioWave();
afx_msg void OnProcessFft();
afx_msg void OnProcessFftI();
afx_msg void OnOptionChangeFftPower();
afx_msg void OnCheckResult();
afx_msg void OnProcessLowpass();
afx_msg void OnProcessDctiv();
afx_msg void OnProcessIdctiv();
afx_msg void OnSoundIn();
afx_msg void OnSoundInStop();
afx_msg void OnPitchDetector();
afx_msg void OnPitchDetectorVoice();
afx_msg void OnPROCESSHighPASS();
afx_msg void OnSoundEmendation();
afx_msg void OnSoundInSquare();
DECLARE_EVENTSINK_MAP()
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_AUDIODLG_H__9C7A1F59_C609_49DA_BB3B_30F993EEDC44__INCLUDED_)