本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!
/*/////////////////////////////////////////////////////////////////////
文件:waveRecorder.h
描述:录音类定义文件
作者:张友邦
时间:2004-09-10
声明:本文件系作者辛苦熬夜的产物,任何人使用本文件请保留本描述文本。
历史:
/*/////////////////////////////////////////////////////////////////////
#if !defined(_WAVERECORDER_H)
#define _WAVERECORDER_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
namespace wa
{
//////////////////////////////////////////////////////////////////////
class waveRecorder
{
protected:
HWAVEIN hRecord; //音频设备句柄
//录音回调函数
static void CALLBACK waveInProc
(
HWAVEIN hwi, //音频设备句柄
UINT uMsg, //消息标识
DWORD dwInstance, //用户定义数据
DWORD dwParam1, //消息参数
DWORD dwParam2 //消息参数
);
static float waveRecorder::constraint(char v);
static void smooth(char* input, int* output, int length,
double smoothness = 0.8, int scale = 100);
public:
waveRecorder();
waveRecorder(const WAVEFORMATEX& waveFormatConfig);
waveRecorder(const int& frequency, const int& channels);
virtual ~waveRecorder();
WAVEFORMATEX waveFormat; //Wave格式定义
typedef enum
{
E_STATUS_STOPED = 0,
E_STATUS_STARTED = 1
} recorderStatus;
recorderStatus status; //录音状态
static float sampleCoef; //采样系数
//开始
virtual void start() throw (std::exception);
//停止
virtual void stop() throw (std::exception);
};
//////////////////////////////////////////////////////////////////////
};//namespace wa
#endif
本文地址:http://com.8s8s.com/it/it244.htm