⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavebuffer.h

📁 一个语音聊天软件
💻 H
字号:
//-------------------------------------------------------------------------------------
// 
//  文件名: WaveBuffer.cpp
// 
//	创建人: noise 
// 
//  日  期: 2007-5-30
//
//	描  述: Define CWaveBuffer, capsulate WAVEHDR and buf.
//
//	版  本: 1.0
// 
//-------------------------------------------------------------------------------------

#if !defined(AFX_WAVEBUFFER_H__09B3A33B_4DDA_4E35_9BFA_D0A910992DF0__INCLUDED_)
#define AFX_WAVEBUFFER_H__09B3A33B_4DDA_4E35_9BFA_D0A910992DF0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Mmsystem.h"

const int BUFNUM = 15;

class CWaveBuffer  
{
public:
	enum Wtype {WAVEIN, WAVEOUT};
	enum {BUFSIZE = 1102}; //11025*0.1m

	CWaveBuffer(HWAVEIN hwi);
	CWaveBuffer(HWAVEOUT hwo);
	CWaveBuffer(HWAVEOUT hwo, LPSTR p_buf, DWORD dwNum);

	virtual ~CWaveBuffer();

	MMRESULT Prepare();

	MMRESULT AddToWaveInBuffer();

	void ResetWaveInBuffer();
	void ResetWaveOutBuffer();
	void UseWaveOutBuffer(LPSTR p_buf, DWORD dwNum);

	MMRESULT Play();
	
private:
	HANDLE m_hwio;
	Wtype m_iotype;
	
	WAVEHDR m_waveh;
	LPSTR m_buffer;
};

//////////////////////////////////////////////////////////////////
// 11025Khz
// 8bits/s = 1Byte/s
// So, the buffer you need is T*11025 Bytes
//////////////////////////////////////////////////////////////////
class CWaveFormat
{
public:
	WAVEFORMATEX m_wfx;
	
public:
	CWaveFormat();
	virtual ~CWaveFormat();
};

#endif // !defined(AFX_WAVEBUFFER_H__09B3A33B_4DDA_4E35_9BFA_D0A910992DF0__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -