13MCI和MMAPI编程

13MCI和MMAPI编程

ID:41033083

大小:467.00 KB

页数:26页

时间:2019-08-14

13MCI和MMAPI编程_第1页
13MCI和MMAPI编程_第2页
13MCI和MMAPI编程_第3页
13MCI和MMAPI编程_第4页
13MCI和MMAPI编程_第5页
资源描述:

《13MCI和MMAPI编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、•25•第13章MCI和MMAPI编程第13章MCI和MMAPI编程本章介绍Windows多媒体的两种传统编程接口——高层的MCI和底层的MMAPI,主要讨论MCI的命令串和命令消息方式编程和MMAPI中的MMIO与MIDI编程。MCI和MMAPI都没有被封装入MFC,为WindowsSDK中的API。在VisualStudio2008的帮助系统中,MCI和MMAPI的帮助文档位于“目录/Win32和COM开发/GraphicsandMultimedia/WindowsMultimedia/SDKDocumentation/WindowsMultimedia”的各子目录中。在Vis

2、ualStudio2010的帮助系统中,MCI和MMAPI的帮助文档位于“库主页/Win32andCOMDevelopment/GraphicsandMultimedia/AudioandVideo/WindowsMultimedia”的各子目录中。在VisualStudio2012的帮助系统中,MCI和MMAPI的帮助文档位于微软msdn网站的“MSDNLibrary/WindowsDesktopAppDevelopment/AudioandVideo/LegacyAudioandVideo/WindowsMultimedia”的MCI和MultimediaReference等子

3、目录中。13.1MCI编程MCI(MediaControlInterface,媒体控制接口)是Windows中控制多媒体设备的高层命令接口,用于事件协调及与MCI设备驱动程序的通信。MCI的主要特点是其设备独立性。通过设备驱动程序,MCI提供了与设备无关的虚拟接口。参见图13-1。MCI的核心是MCI的设备驱动程序,它用于解释和执行MCI的命令,可分成如下三类:MCI设备驱动程序MCI命令多媒体设备多媒体应用程序l直接控制媒体设备硬件,如CD音乐、影碟机;l通过低层MMAPI间接控制目标设备,如MIDI、WAV;l提供DLL高层接口,如AVI/MPEG影片播放器。13.1.1MCI

4、设备图13-1MCI的设备独立性MCI设备可分为如下两种类型:l简单设备——不需要提供数据文件,如CD音乐、DVD机;l复合设备——需要提供数据文件,如MIDI音序器(.MID)、波形音频设备(.WAV)、影片播放器(.AVI/.MPG)。每类MCI设备都有对应的命令集,但也有若干同类MCI驱动程序共用同一命令集,为了区分不同的驱动程序,MCI引入设备名:(按字母序排列)lanimation——动画播放设备;•25•第13章MCI和MMAPI编程lcdaudio——CD音乐播放设备;ldat——数字音频磁带机(DAT=DigitalAudioTape数字录音带);ldigitalv

5、ideo——数字视频(不基于GUI);lmmmovie——多媒体影片播放设备;lother——未定义的MCI设备(扩展用);loverlay——窗口中的模拟视频接口(基于GUI);lscanner——图像扫描仪;lsequencer——MIDI音序器;lvcr——盒式磁带录像机(VCR=VideoCassetteRecorder);lvideodisc——影碟机;lwaveaudio——波形音频设备。13.1.2接口、函数与命令多媒体应用程序通过发送命令来控制多媒体设备,MCI有串和消息两种命令接口方式。这些命令接口,又由若干MCI函数来具体实现。1.接口应用程序通过向MCI设备发

6、送命令来控制它,这种命令有两种功能等价的接口方式:l命令串方式——用近似英语的句法与MCI设备通信,直观、面向用户。是一种文本形式的接口,常用于VB等可视化编程平台和ToolBook等多媒体著作工具。如mciSendString(L"playcdaudiofrom2to5",NULL,0,NULL);l命令消息方式——利用消息和数据结构与MCI设备通信,快速、面向程序员。常用于C/C++语言的应用程序,以直接控制多媒体设备。如:MCI_PLAY_PARMSplayParms;playParms.dwFrom=MCI_MAKE_TMSF(2,0,0,0);playParms.dwTo

7、=MCI_MAKE_TMSF(6,0,0,0);mciSendCommand(wDevID,MCI_PLAY,MCI_FROM

8、MCI_TO,(DWORD)(LPVOID)&playParms);2.函数MCI函数中,有些只适用于一种接口方式,有些则两种接口都可以用。1)仅命令串方式只适用于命令串接口方式的只有如下一个函数:(命令串中的字符不区分大小写)lmciSendString(发送命令串),函数原型为:MCIERRORmciSendString(//出错返回非零

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。