vc+++6.0开发多媒体音频编程资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc+++6.0开发多媒体音频编程资料.doc

第9章 媒体控制接口 媒体控制接口MCI(Media Control Interface)自Windows3.1发布后就成为了控制接口和外设的基本方法,尤其在控制音频、视频等设备方面,提供了与设备无关的控制方法。现在Windows 9x不仅提供了一套32位的MCI驱动程序,用以控制当今流行的多媒体设备,而且还可以装载由许多厂商提供的与MCI相兼容的第三方驱动程序。 10.1 MCI(媒体控制接口)设备类型 媒体控制接口允许控制两类设备:第一类为简单设备,是指那些不需要文件的设备,如CD音频播放设备;第二类为复合设备,是指那些需要文件的设备,如数字视频及波形音频设备等,下面列出了目前已定义的设备的标识符。 MCI 设 备 类 型 设备类型 说明 设备类型 说明 animation 动画设备 scanner 图形扫描设备 cdaudio CD音频设备 sequencer MIDI设备 dat 数字音频磁带机 vcr 录象机设备 digitalvideo 数字视频设备 videodisc 影碟播放设备 other 未定义的MCI设备 waveaudio 波形音频设备 overlay 窗口中的模拟设备 10.2 MCI(媒体控制接口)编程步骤 MCI为用户提供了控制不同多媒体设备的函数库,这些函数库允许用户以不同的方式访问设备。在MFC中使用MCI函数进行多媒体设备控制的一般步骤为:打开设备(设置或获取设备相关信息(播放设备(关闭设备等几个过程。 实际上,上述过程的操作都要向多媒体设备发送MCI指令。指令发送一般是通过调用mciSendCommand(用于发送命令消息)或mciSendString(用于发送字符串命令)函数进行的。其中的mciSendCommand函数原型如下: MCIERROR mciSendCommand(MCIDEVICEID IDDevice,UINT uMsg,DWORD fdwCommand,DWORD dwParam); 参数:IDDevice表示接受MCI命令的设备标识符,但当MCI命令为MCI_OPEN时,此参数应为0; uMsg表示要发送的命令消息; fdwCommand表示MCI命令消息的标志位; dwParam表示指向MCI命令消息数据结构的指针。该函数成功调用时返回 0,否则返回非0值。 另外,在调用MCI函数所在的源文件开头处(最好是stdafx.h(建立预编译头文件))还要包含文件mmsystem.h以及编译时加入winmm.lib库或在程序中加入下列语句: #pragma comment(lib,”winmm32.lib”) 1、打开设备 为了简化代码,MCI为不同的多媒体设备打开提供相应的数据结构类型。 例如,对于waveaudio设备提供了MCI_WAVE_OPEN_PARMS结构,对于overlay提供了MCI_OVLY_OPEN_PARMS结构等。若用户不想使用设备中特定的参数数据,则可使用统一的MCI_OPEN_PARMS结构,其原型如下: typedef struct { DWORD dwCallback; //低字节用于MCI_NOTIFY的窗口句柄 MCIDEVICEID wDeviceID //返回的设备表示符 LPCSTR lpstrDeviceType; //MCI设备的类型 LPCSTR lpstrElementName; //设备元素 LPCSTR lpstrAlias; //可选的设备别名 }MCI_OPEN_PARMS; 显然,打开一个多媒体设备的代码过程是:首先定义一个MCI_OPEN_PARMS(或其他)结构类型变量,然后给结构变量中的相应参数赋值,最后调用mciSendCommand向设备发送MCI_OPEN命令消息,当调用成功时,即可获得相应的设备标识符。例如:下面的代码是打开波形音频设备: WORD wDeviceID; //MCI设备ID CString filename; //波形文件名 …….. MCI_OPEN_PARMS openParms; //MCI设备打开参数 openParms.lpstrDeviceType=”wavea

文档评论(0)

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

1亿VIP精品文档

相关文档