#if !defined(AFX_RECORD_H__58755D30_DFC4_4026_BD3A_C7C4AC3B8E7D__INCLUDED_)
#define AFX_RECORD_H__58755D30_DFC4_4026_BD3A_C7C4AC3B8E7D__INCLUDED_
#include "myrecord.h"// Added by ClassView
#include "realfft.h"
#if !defined _MAKEWAVE_H
#define _MAKEWAVE_H
#pragma comment(lib, "winmm.lib")
int makewave(CString filename, short * buffer, DWORD size);
int readwave(CString filename, short * buffer, DWORD maxsize);
#endif //!defined _MAKEWAVE_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Record.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CRecord window
class CRecord : public CWnd
{
// Construction
public:
CRecord();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CRecord)
//}}AFX_VIRTUAL
// Implementation
public:
int open();
int save();
DWORD bsize;
short * ibuf;
double noiselevel;
int replay();
int stop();
int start();
DWORD readsize;
short * buffer;
int havestoped;
cbhrecord cbhrecord;
LRESULT OnRecord(WPARAM wp, LPARAM lp);
virtual ~CRecord();
// Generated message map functions
protected:
//{{AFX_MSG(CRecord)
afx_msg void OnPaint();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_RECORD_H__58755D30_DFC4_4026_BD3A_C7C4AC3B8E7D__INCLUDED_)
本文介绍了一个基于C++的录音程序实现细节,包括录音、播放、保存等功能,并集成了实时频谱分析功能,利用了FFT算法进行信号处理。文章深入探讨了如何使用winmm.lib库来操作声音文件。
678

被折叠的 条评论
为什么被折叠?



