群发传真软件清除所有分配
yRecordWave网络传真软件录制语音类主要有以下六个成员函数,它们的功能与录音流程相对应:
void WaveInitFormat( int m_Formatnumber); //指定电子传真录音格式
BOOL AllocMemory( void); //给WAVEHDR和录音存储分配缓存块
void CleanMemory( void); //群发传真软件清除所有分配的缓存块
BOOL OpenWid( void); //打开录音设备,准备录音
BOOL StartRecord( void); //开始录音模块(包括一些初始化)
void StopRecord( void); //停止录音模块
录音步骤按先后顺序要用到的Wave低级设备函数以及编程应注意的事项如下。
①初始化录音格式(根据请求方要求可选),即
WAVEFORMATEX m_WaveFormat;
②根据所选取的格式决定要分配的数据缓存大小,即
dwDataSize=m_WaveFormat.nAvgBytesPerSec/10;
③打开录音设备,即
MMRESULT rc=wavelnOpen(&m—hWaveln, WAVE—MAPPER,&waveformat, ( DWORD) m_hWnd,OL,CALLBACK_WINDOW);
④准备录音内存块,即
waveInPrepareHeader( m_hWaveIn,m_pWaveHdr[i],sizeof( WAVEHDR));
⑤网络传真提交内存块给录音设备,即
wavelnAddBuffer( m_hWaveln ,m_pWaveHdr[i],sizeof( WAVEHDR));
wavelnStart( m_hWaveln); //开始录音
waveInStop( m_hWaveln); //停止录音
waveInReset( m_hWaveln); //清空内存块
waveInClose( m_hWaveln); //关闭录音设备