本文属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 
|