![](https://csdnimg.cn/release/download_crawler_static/86673344/bg1.jpg)
实时录音程序
//
//
//
#include "stdafx.h"
#include "WaveIn.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CWaveIn
CWaveIn::CWaveIn(int sampleRate,int nBits,int nBufferLength)
{
m_bRecording = FALSE;
m_hWaveIn = NULL;
m_uDeviceID = WAVE_MAPPER;
m_maxLength = nBufferLength;
m_buffer1 = new char[m_maxLength];
m_buffer2 = new char[m_maxLength];
m_frontbuffer = new char[m_maxLength];
m_backbuffer = new char[m_maxLength];
m_waveformat.wFormatTag = WAVE_FORMAT_PCM;
m_waveformat.nSamplesPerSec = sampleRate;
m_waveformat.wBitsPerSample = nBits;
m_waveformat.nChannels = 1; // 单声道
m_waveformat.nBlockAlign = m_waveformat.wBitsPerSample/8;
m_waveformat.nAvgBytesPerSec =
m_waveformat.nBlockAlign*m_waveformat.nSamplesPerSec;
m_waveformat.cbSize = sizeof(m_waveformat);
m_hdr1.dwBufferLength = m_maxLength;
m_hdr1.dwBytesRecorded = 0;
m_hdr1.dwFlags = 0;
m_hdr1.dwLoops = 0;
m_hdr1.dwUser = 0;
评论0