4 #include "CWaveData.h"
\r
9 ////////////////////////////////////////////////////////////////////////////////
\r
10 //
\83R
\83\93\83X
\83g
\83\89\83N
\83^
\r
11 ////////////////////////////////////////////////////////////////////////////////
\r
12 CWaveData::CWaveData()
\r
14 // Wave
\83t
\83H
\81[
\83}
\83b
\83g
\r
15 m_WaveFormat.wFormatTag = WAVE_FORMAT_PCM;
\r
16 m_WaveFormat.nChannels = 1;
\r
17 m_WaveFormat.nSamplesPerSec = 22050;
\r
18 m_WaveFormat.wBitsPerSample = 8;
\r
19 m_WaveFormat.nBlockAlign = m_WaveFormat.wBitsPerSample / 8 * m_WaveFormat.nChannels;
\r
20 m_WaveFormat.nAvgBytesPerSec = m_WaveFormat.nSamplesPerSec * m_WaveFormat.nBlockAlign;
\r
23 ////////////////////////////////////////////////////////////////////////////////
\r
24 //
\83f
\83X
\83g
\83\89\83N
\83^
\r
25 ////////////////////////////////////////////////////////////////////////////////
\r
26 CWaveData::~CWaveData()
\r
31 ////////////////////////////////////////////////////////////////////////////////
\r
33 ////////////////////////////////////////////////////////////////////////////////
\r
34 void CWaveData::initialize()
\r
36 //
\8c»
\8fó
\83t
\83H
\81[
\83}
\83b
\83g
\82Í
\8c\88\82ß
\82¤
\82¿
\r
37 m_WaveFormat.wFormatTag = WAVE_FORMAT_PCM;
\r
38 m_WaveFormat.nChannels = 1;
\r
39 m_WaveFormat.nSamplesPerSec = 22050;
\r
40 m_WaveFormat.wBitsPerSample = 8;
\r
41 m_WaveFormat.nBlockAlign = m_WaveFormat.wBitsPerSample / 8 * m_WaveFormat.nChannels;
\r
42 m_WaveFormat.nAvgBytesPerSec = m_WaveFormat.nSamplesPerSec * m_WaveFormat.nBlockAlign;
\r
45 ////////////////////////////////////////////////////////////////////////////////
\r
46 //
\83o
\83b
\83t
\83@
\82ð
\8am
\95Û
\r
47 ////////////////////////////////////////////////////////////////////////////////
\r
48 bool CWaveData::allocBuffer(int in_BufferNumber, DWORD in_RecorMilliSecond)
\r
50 if(in_BufferNumber < 1 || in_RecorMilliSecond == 0){
\r
54 if(m_WaveBuffers.empty()){
\r
61 for(int i = 0; i < in_BufferNumber; i++){
\r
62 StructWaveBuffer tempWaveBuffer;
\r
63 tempWaveBuffer.m_RecorMilliSecond = in_RecorMilliSecond;
\r
64 tempWaveBuffer.m_BufferSize = m_WaveFormat.nAvgBytesPerSec * in_RecorMilliSecond / 1000;
\r
65 tempWaveBuffer.m_pWaveBuffer = new char[tempWaveBuffer.m_BufferSize];
\r
67 m_WaveBuffers.push_back(tempWaveBuffer);
\r
70 //
\93Ç
\82Ý
\8eæ
\82è
\83o
\83b
\83t
\83@
\82Æ
\8f\91\82«
\8d\9e\82Ý
\83o
\83b
\83t
\83@
\82ð
\8ew
\92è
\82µ
\82Ä
\82¨
\82
\r
71 m_ReadOfWaveBuffers = m_WaveBuffers.begin();
\r
72 m_WriteOfWaveBuffers = m_WaveBuffers.begin();
\r
77 ////////////////////////////////////////////////////////////////////////////////
\r
78 //
\83o
\83b
\83t
\83@
\82ð
\89ð
\95ú
\r
79 ////////////////////////////////////////////////////////////////////////////////
\r
80 bool CWaveData::freeBuffer()
\r
82 if(!m_WaveBuffers.empty()){
\r
83 WaveBufferTable::iterator tempIterator = m_WaveBuffers.begin();
\r
84 while(tempIterator != m_WaveBuffers.end()){
\r
85 delete tempIterator->m_pWaveBuffer;
\r