VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Pedal Point源码发布及说明(5)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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




相关文章

相关软件