- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13mci和mmapi编程
第13章 MCI和MMAPI编程
本章介绍Windows多媒体的两种传统编程接口——高层的MCI和底层的MMAPI,主要讨论MCI的命令串和命令消息方式编程和MMAPI中的MMIO与MIDI编程。
MCI和MMAPI都没有被封装入MFC,为Windows SDK中的API。在Visual Studio 2008的帮助系统中,MCI和MMAPI的帮助文档位于“目录 / Win32和COM开发 / Graphics and Multimedia / Windows Multimedia / SDK Documentation / Windows Multimedia”的各子目录中。在Visual Studio 2010的帮助系统中,MCI和MMAPI的帮助文档位于“库主页 / Win32 and COM Development / Graphics and Multimedia / Audio and Video / Windows Multimedia”的各子目录中。在Visual Studio 2012的帮助系统中,MCI和MMAPI的帮助文档位于微软msdn网站的“MSDN Library / Windows Desktop App Development / Audio and Video / Legacy Audio and Video / Windows Multimedia”的MCI和Multimedia Reference等子目录中。
13.1 MCI编程
MCI(Media Control Interface,媒体控制接口)是Windows中控制多媒体设备的高层命令接口,用于事件协调及与MCI设备驱动程序的通信。
MCI的主要特点是其设备独立性。通过设备驱动程序,MCI提供了与设备无关的虚拟接口。参见图13-1。MCI的核心是MCI的设备驱动程序,它用于解释和执行MCI的命令,可分成如下三类:
直接控制媒体设备硬件,如CD音乐、影碟机;
通过低层MMAPI间接控制目标设备,如MIDI、WAV;
提供DLL高层接口,如AVI/MPEG影片播放器。
13.1.1 MCI设备
MCI设备可分为如下两种类型:
简单设备——不需要提供数据文件,如CD音乐、DVD机;
复合设备——需要提供数据文件,如MIDI音序器(.MID)、波形音频设备(.WAV)、影片播放器(.AVI/.MPG)。
每类MCI设备都有对应的命令集,但也有若干同类MCI驱动程序共用同一命令集,为了区分不同的驱动程序,MCI引入设备名:(按字母序排列)
animation——动画播放设备;
cdaudio——CD音乐播放设备;
dat——数字音频磁带机(DAT = Digital Audio Tape数字录音带);
digitalvideo——数字视频(不基于GUI);
mmmovie——多媒体影片播放设备;
other——未定义的MCI设备(扩展用);
overlay——窗口中的模拟视频接口(基于GUI);
scanner——图像扫描仪;
sequencer——MIDI音序器;
vcr——盒式磁带录像机(VCR = Video Cassette Recorder);
videodisc——影碟机;
waveaudio——波形音频设备。
13.1.2 接口、函数与命令
多媒体应用程序通过发送命令来控制多媒体设备,MCI有串和消息两种命令接口方式。这些命令接口,又由若干MCI函数来具体实现。
接口
应用程序通过向MCI设备发送命令来控制它,这种命令有两种功能等价的接口方式:
命令串方式——用近似英语的句法与MCI设备通信,直观、面向用户。是一种文本形式的接口,常用于VB等可视化编程平台和ToolBook等多媒体著作工具。如
mciSendString(Lplay cdaudio from 2 to 5, NULL, 0, NULL);
命令消息方式——利用消息和数据结构与MCI设备通信,快速、面向程序员。常用于C/C++语言的应用程序,以直接控制多媒体设备。如:
MCI_PLAY_PARMS playParms;
playParms.dwFrom = MCI_MAKE_TMSF(2, 0, 0, 0);
playParms.dwTo = MCI_MAKE_TMSF(6, 0, 0, 0);
mciSendCommand(wDevID, MCI_PLAY, MCI_FROM | MCI_TO,
(DWORD)(LPVOID)playParms);
函数
MCI函数中,有些只适用于一种接口方式,有些则两种接口都可以用。
1)仅命令串方式
只适用于命令串接口方式的只有如下一个函数:(命令串中的字符不区分大小写)
mciSendString(发送命令串)
您可能关注的文档
- ()國小九十二學年度第一學期四年級綜合活動領域課程計畫.doc
- (音乐)学科第(十一)册教案-温州市水心小学.doc
- 08级音乐会节目单.doc
- 08本fpga综合实验指导书.doc.doc
- 02.第一章.ppt
- 01电压基准及时间基准-电子创新网.doc
- 1-sound.jp.doc
- 06052052.ppt-信丰七中首页.ppt
- 1.2声音特征.doc.doc
- 1.《基本乐理》教学大纲.doc
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
文档评论(0)