Pedal Point源码发布及说明(5)

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航