VC++MCI编程?用MFC做的~
我是新手,自己学编程。帮忙说下MCI编程的录音频的常用函数有哪些?给说下简单的用法?谢谢~~~~...
我是新手,自己学编程。帮忙说下MCI编程的录音频的常用函数有哪些?给说下简单的用法?谢谢~~~~
展开
1个回答
2013-04-21
展开全部
我记得回答过类似的问题,现在重复一下。 重要的函数:
==================MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, UINT uMsg, DWord dwFlags, DWORD dwParam);第一个参数指定了设备标识,这个标识会在程序员打开MCI设备时由系统提供。第二个参数指定将如何控制设备,见后面MCI指令清单,其中有有关录音的指令。第三个参数为访问标识,第四个参数一般是一个数据结构,标识程序在访问MCI时要的一些信息。
MCI的设备类型:
设备描述 描述字符串 说明
MCI_ALL_DEVICE_ID 所有设备
MCI_DEVTYPE_ANIMATION Animation 动画设备
MCI_DEVTYPE_CD_AUDIO Cdaudio CD音频
MCI_DEVTYPE_DAT Dat 数字音频
MCI_DEVTYPE_DIGITAL_VIDEO Digitalvideo 数字视频
MCI_DEVTYPE_OTHER Other 未定义设备
MCI_DEVTYPE_OVERLAY Overlay 重叠视频
MCI_DEVTYPE_SCANNER Scanner 扫描仪
MCI_DEVTYPE_SEQUENCER Sequencer MIDI 序列器
MCI_DEVTYPE_VCR Vcr 合式录像机
MCI_DEVTYPE_VIDEODISC Videodisc 激光视盘
MCI_DEVTYPE_WAVEFORM_AUDIO waveaudio Wave 音频MCI指令
MCI_BREAK设置中断键,缺省是”CTRL+BREAK"
MCI_CAPTURE抓取当前帧并存入指定文件,仅用于数字视频
MCI_CLOSE关闭设备
MCI_CONFIGURE弹出配置对话框,仅用于数字视频
MCI_COPY拷贝数据至剪贴板
MCI_CUE延时播放或录音
MCI_CUT删除数据
MCI_DELETE删除数据
MCI_ESCAPE仅用于激光视频
MCI_FREEZE将显示定格
MCI_GETDEVCAPS获取设备信息
MCI_INDEX当前屏幕显示与否,仅用于VCR设备
MCI_INFO获取字符串信息
MCI_LIST获取输入设备数量,支持数字视频和VCR设备
MCI_LOAD装入一个文件
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MONITOR为数字视频指定报告设备
MCI_OPEN打开设备
MCI_PASTE粘帖数据
MCI_PAUSE暂停当前动作
MCI_PLAY播放
MCI_PUT设置源、目的和边框矩形
MCI_QUALITY定义设备缺省质量
MCI_RECORD开始录制
MCI_RESERVE分配硬盘空间
MCI_RESTORE拷贝一个bmp文件至帧缓冲
MCI_RESUME使一个暂停设备重新启动
MCI_SAVE保存数据
MCI_SEEK更改媒体位置
MCI_SET设置设备信息
MCI_SETAUDIO设置音量
MCI_SETTIMECODE启用或取消VCR设备的时间码
MCI_SETTUNER设置VCR设备频道
MCI_SETVIDEO设置video参数
MCI_SIGNAL在工作区上设置指定空间
MCI_STATUS获取设备信息
MCI_STEP使播放设备跳帧
MCI_STOP停止播放
MCI_SYSINFO返回MCI设备信息
MCI_UNDO取消操作
MCI_UNFREEZE使使用MCI_UNFREEZE的视频缓冲区恢复运动
MCI_UPDATE更新显示区域
MCI_WHERE获取设备裁减矩形
MCI_WINDOW指定图形设备窗口和窗口特性其中比较常用的指令有MCI_OPEN、MCI_RECORD、MCI_CLOSE、MCI_PLAY、MCI_STOP、MCI_PAUSE、MCI_STATUS等等。
举例:
//关闭一个MCI设备
mciSendCommand(DeviceID, MCI_CLOSE, NULL, NULL); //打开CD播放器
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO ;
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD)&mciOpen);
其他:=======高层音频接口:播放声音资源/文件调用MCI::Media Control Interface 和Api::MessageBeep,sndPlaySound,PlaySound底层音频接口:数据采集开发一般步骤:检测音频设备->打开驱动程序->分配缓冲区->管理缓冲区->操作音频数据->释放缓冲区->关闭驱动程序.SDK参考::ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/multimed/htm/_win32_multimedia_functions.htm多媒体控制两种方式可选:调API,执行命令.MCI命令结构:系统命令:直接由MCI解析,并由系统处理,与设备无关通用命令:由设备驱动处理可选命令:扩展命令:常用MCI命令:MCI_OPEN,MCI_PLAY,MCI_RECORD,MCI_STATUS,MCI_SET,时间操作宏命令.
==================MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, UINT uMsg, DWord dwFlags, DWORD dwParam);第一个参数指定了设备标识,这个标识会在程序员打开MCI设备时由系统提供。第二个参数指定将如何控制设备,见后面MCI指令清单,其中有有关录音的指令。第三个参数为访问标识,第四个参数一般是一个数据结构,标识程序在访问MCI时要的一些信息。
MCI的设备类型:
设备描述 描述字符串 说明
MCI_ALL_DEVICE_ID 所有设备
MCI_DEVTYPE_ANIMATION Animation 动画设备
MCI_DEVTYPE_CD_AUDIO Cdaudio CD音频
MCI_DEVTYPE_DAT Dat 数字音频
MCI_DEVTYPE_DIGITAL_VIDEO Digitalvideo 数字视频
MCI_DEVTYPE_OTHER Other 未定义设备
MCI_DEVTYPE_OVERLAY Overlay 重叠视频
MCI_DEVTYPE_SCANNER Scanner 扫描仪
MCI_DEVTYPE_SEQUENCER Sequencer MIDI 序列器
MCI_DEVTYPE_VCR Vcr 合式录像机
MCI_DEVTYPE_VIDEODISC Videodisc 激光视盘
MCI_DEVTYPE_WAVEFORM_AUDIO waveaudio Wave 音频MCI指令
MCI_BREAK设置中断键,缺省是”CTRL+BREAK"
MCI_CAPTURE抓取当前帧并存入指定文件,仅用于数字视频
MCI_CLOSE关闭设备
MCI_CONFIGURE弹出配置对话框,仅用于数字视频
MCI_COPY拷贝数据至剪贴板
MCI_CUE延时播放或录音
MCI_CUT删除数据
MCI_DELETE删除数据
MCI_ESCAPE仅用于激光视频
MCI_FREEZE将显示定格
MCI_GETDEVCAPS获取设备信息
MCI_INDEX当前屏幕显示与否,仅用于VCR设备
MCI_INFO获取字符串信息
MCI_LIST获取输入设备数量,支持数字视频和VCR设备
MCI_LOAD装入一个文件
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MONITOR为数字视频指定报告设备
MCI_OPEN打开设备
MCI_PASTE粘帖数据
MCI_PAUSE暂停当前动作
MCI_PLAY播放
MCI_PUT设置源、目的和边框矩形
MCI_QUALITY定义设备缺省质量
MCI_RECORD开始录制
MCI_RESERVE分配硬盘空间
MCI_RESTORE拷贝一个bmp文件至帧缓冲
MCI_RESUME使一个暂停设备重新启动
MCI_SAVE保存数据
MCI_SEEK更改媒体位置
MCI_SET设置设备信息
MCI_SETAUDIO设置音量
MCI_SETTIMECODE启用或取消VCR设备的时间码
MCI_SETTUNER设置VCR设备频道
MCI_SETVIDEO设置video参数
MCI_SIGNAL在工作区上设置指定空间
MCI_STATUS获取设备信息
MCI_STEP使播放设备跳帧
MCI_STOP停止播放
MCI_SYSINFO返回MCI设备信息
MCI_UNDO取消操作
MCI_UNFREEZE使使用MCI_UNFREEZE的视频缓冲区恢复运动
MCI_UPDATE更新显示区域
MCI_WHERE获取设备裁减矩形
MCI_WINDOW指定图形设备窗口和窗口特性其中比较常用的指令有MCI_OPEN、MCI_RECORD、MCI_CLOSE、MCI_PLAY、MCI_STOP、MCI_PAUSE、MCI_STATUS等等。
举例:
//关闭一个MCI设备
mciSendCommand(DeviceID, MCI_CLOSE, NULL, NULL); //打开CD播放器
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO ;
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD)&mciOpen);
其他:=======高层音频接口:播放声音资源/文件调用MCI::Media Control Interface 和Api::MessageBeep,sndPlaySound,PlaySound底层音频接口:数据采集开发一般步骤:检测音频设备->打开驱动程序->分配缓冲区->管理缓冲区->操作音频数据->释放缓冲区->关闭驱动程序.SDK参考::ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/multimed/htm/_win32_multimedia_functions.htm多媒体控制两种方式可选:调API,执行命令.MCI命令结构:系统命令:直接由MCI解析,并由系统处理,与设备无关通用命令:由设备驱动处理可选命令:扩展命令:常用MCI命令:MCI_OPEN,MCI_PLAY,MCI_RECORD,MCI_STATUS,MCI_SET,时间操作宏命令.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询