WEB开发网
开发学院软件开发VC 基于API的录音机程序 阅读

基于API的录音机程序

 2010-07-15 20:45:10 来源:WEB开发网   
核心提示:三、程序设计一个录音程序的简单流程:打开录音设备waveInOpen===>准备wave数据头waveInPrepareHeader===>准备数据块waveInAddBuffer===>开始录音waveInStart===>停止录音(waveInReset) ===>关闭录音设备(wav

三、程序设计

一个录音程序的简单流程:

打开录音设备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)

窗口模式

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

本文配套源码

上一页  1 2 3 

Tags:基于 API 录音机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接