音频波形显示和滤波(改进).txt
上传用户:amei960
上传日期:2007-02-05
资源大小:143k
文件大小:1k
- 音频波形显示和滤波(改进)
- 作者:郭欣阳
- 上次做的音频波形显示和滤波程序,在关闭时延过长。我认真看了一下代码,
- 发现是void CWaveIn::CloseData()函数出了错,现在修整如下:
- void CWaveIn::CloseData()
- {
- if ( !bStartData ) //就是这里,原来是 if ( bStartData )
- {
- return;
- }
- if(!m_hWave)
- {
- return;
- }
- MMRESULT mRet = waveInReset(m_hWave);
- if( mRet != MMSYSERR_NOERROR )
- {
- return;
- }
- bStartData = FALSE;
- }
- 同时也对程序进行了优化:
- 1、将线程模式改为回调函数的形式。
- 这样就避免了启动线程和关闭线程的控制,使用回调函数将WOM_OPEN、WOM_CLOSE、
- WOM_DONE消息的处理交给系统,减小了我们程序出错的可能性
- 2、在CWaveIn类里面,原来是在每次Start的时候,都分配内存;现在改为只在第一
- 次Start的时候才分配内存,只要类不被析构,分配的内存不会被释放,可以循环再
- 用,这样就减少了内存分配释放的操作,增加了程序的效率,同时也减少了程序出现
- 错误的概率。