13mci和mmapi编程.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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(发送命令串)

文档评论(0)

maritime5 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档