📄 wavebuffer.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 + -