16,466
社区成员
发帖
与我相关
我的任务
分享
void CSound::Play()
{
memcpy(m_cBufferOut, m_cBufferIn, MAX_BUFFER_SIZE);
MMRESULT result;
m_wavehdrOut.lpData = m_cBufferOut;
m_wavehdrOut.dwBufferLength = MAX_BUFFER_SIZE;
m_wavehdrOut.dwBytesRecorded = 0;
m_wavehdrOut.dwFlags = 0;
result = waveOutPrepareHeader(m_hWaveOut, &m_wavehdrOut, sizeof(WAVEHDR));//准备内存块播放录音
if(result != MMSYSERR_NOERROR)
{
m_pDlg->MessageBox("调用waveOutPrepareHeader()出错");
return ;
}
result = waveOutWrite(m_hWaveOut, &m_wavehdrOut, sizeof(WAVEHDR)); //播放录音
if(result != MMSYSERR_NOERROR)
{
m_pDlg->MessageBox("调用waveOutWrite()出错");
return ;
}
FreeInBuffer(); //为了使录音设备能连续的录音,在每次播放录音后要清除录音设备缓冲
}