基于API的录音机程序

http://tech.ddvip.com   2006年07月23日    社区交流

本文详细介绍基于API的录音机程序

  三、程序设计

  一个录音程序的简单流程: 打开录音设备waveInOpen===>准备wave数据头waveInPrepareHeader===>
准备数据块waveInAddBuffer===>开始录音waveInStart===>停止录音(waveInReset) ===>
关闭录音设备(waveInClose)
当开始录音后当buffer已满时,将收到MM_WIM_DATA消息,处理该消息可以保存已录好数据。

  回放程序比这个要简单的多: 打开回放设备waveOutOpen===>准备wave数据头waveOutPrepareHeader===>写wave数据waveOutWrite===>
停止放音(waveOutRest) ===>关闭回放设备(waveOutClose)
如何处理MM消息: MSDN告诉我们主要有 CALLBACK_FUNCTION、CALL_BACKTHREAD、CALLBACK_WINDOW 三种方式,常用的是
Thread,window方式。
线程模式

  waveInOpen(&hWaveIn,WAVE_MAPPER,&waveform,m_ThreadID,NULL,CALLBACK_THREAD),我们可以继承MFC的CwinThread类,只要相应的处理线程消息即可。

  MFC线程消息的宏为: ON_THREAD_MESSAGE,可以这样添加消息映射: ON_THREAD_MESSAGE(MM_WIM_CLOSE, OnMM_WIM_CLOSE) 窗口模式

  类似于线程模式,参见源程序即可。

作者:栾义明    责编:豆豆技术应用

正在加载评论...