Record

本文介绍了一个基于C++的录音程序实现细节,包括录音、播放、保存等功能,并集成了实时频谱分析功能,利用了FFT算法进行信号处理。文章深入探讨了如何使用winmm.lib库来操作声音文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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_)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值