- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 多媒体软件基础(二) 5.4 多媒体程序设计基础 5.4.1 媒体控制接口(MCI) 概述 媒体控制接口(MCI,Media Control Interface)在控制音频、视频等多媒体外围设备方面,提供了与设备无关的应用程序。 由于MCI的设备无关性,系统升级十分方便,从而大大提高了应用系统的开发效率。 MCI设备驱动器可以直接或通过Windows提供的低级多媒体函数控制媒体硬件。 5.4.1 媒体控制接口(MCI) MCI编程接口 命令-消息接口 应用信息传递方式与MCI设备进行通信 。 如 WORD wDeviceID; MCI_PLAY_PARMS mciPlayParms; MciSendCommand(wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)mciPlayParms); 是为需要C语言接口以控制多媒体设备的应用程序而设计的 。 5.4.1 媒体控制接口(MCI) MCI命令集 命令—字符串接口中的命令描述了MCI命令集,每一条命令在命令—消息接口中都有对应的命令消息。例如:close命令字符串等同于MCI_CLOSE命令消息。 MCI命令可分成四类:系统命令、需求命令、基本命令和扩展命令 。 5.4.1 媒体控制接口(MCI) MCI命令集 MCI命令由一字符串组成,语法如下: Command device_name arguments 其中:command :MCI所使用的命令; device_name:指设备类型、文件名或别名; arguments :指令所带的参数列表。 5.4.1 媒体控制接口(MCI) 关于MCI设备 MCI设备驱动程序可以按简单和复合设备进行分类。 简单设备重放时不需要数据文件。 视盘机和激光唱盘机(CD)都是简单设备。 复合设备重放时需要数据文件。 MIDI序列和波形音频播放机都是复合设备。 与复合设备相关的数据文件叫设备元素 MIDI文件和WAVE文件都是设备元素的例子 5.4.1 媒体控制接口(MCI) 设备名 对于某一给定的设备类型,可能有几种MCI驱动程序共享命令集,但使用不同的数据格式。 如动画设备就有几种驱动程序使用同一命令集,但使用不同的文件格式。要单独标识MCI驱动程序,MCI使用设备名。 设备名是在注册中的[mci]部分标出的,这一部分标明了所有Windows MCI设备驱动程序。 5.4.1 媒体控制接口(MCI) 设备名 下面是典型的[mci]部分的一部分。 [mci] waveaudio=mciwave.drv sequencer=mciseq.drv MMMovie=mcimmp.drv Cdaudio=mcicda.drv 键名(在等号左边)是设备名,与键名相对的值(在等号的右边)标识MCI驱动程序的文件名,设备名通常与该驱动程序中的设备类型名是相同的。 5.4.1 媒体控制接口(MCI) 设备名 如果用一个已经在 [mci]部分中存在的设备名安装MCI设备驱动程序,Windows就给新驱动程序的设备名加上一个整数,以产生一个独特的设备名。 在前面的例子中,用cdaudio设备名安装的驱动程序其设备名为cdaudio1,而以后的cdaudio设备名应为cdaudio2 5.4.1 媒体控制接口(MCI) 打开MCI设备 在使用MCI设备以前,用户必须打开该设备将其初始化; 打开设备就将它的驱动程序装入了内存(如果该程序还没有装入),并且建立一个设备标识符用来指定在后续命令中的设备(命令字符串接口不使用该设备的标识符)。 5.4.1 媒体控制接口(MCI) 打开MCI设备 有几种方法可以指定用户要打开的设备: 对于简单设备,用户只需指定设备名将其打开。 对于复合设备,用户只需指定设备名、设备元素或二者同时指定来打开这个设备。 如,下列命令字符串用指定设备名的方法打开一个CD音频设备 Open cdaudio 下面的命令字符串用指定设备名和设备元素的方法打开一个波形音频复合设备。 Open bell.wav type waveaudio 也可以象下面给出的例子那样只指定设备的元素来打开一个复合设备。 Open bells.wav 5.4.1 媒体控制接口(MCI) 打开MCI设备 打开一个复合设备时,如果只指定设备元素,则MCI用设备元素文件的扩展名确定要打开哪一个设备。 注册中包含一个与文件扩展名和相应的MCI设备类型相关的[mci extensions]部分。 下面是[mci extensions]部分的一部分。 [mci extensions] wav=wavaudio mid=sequencer rm
文档评论(0)