- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 《3D打印技术概论》电子教案.pdf VIP
- 水平一(一、二年级)《体育与健康》全册教案.pdf VIP
- DB22T 162-2017建筑消防设施检验规程.docx
- 中国肿瘤整合诊疗指南(2025版)结直肠癌及肛管癌更新要点解读.pptx VIP
- 第11课 依法从事民事活动 教案 中职高教版 职业道德与法治.pdf
- 03婴幼儿练习试题附答案(一).docx VIP
- 《救救我小猫》超清有声动态PPT课件.pptx VIP
- 全国党员管理信息采集表及采集标准.pdf VIP
- 山山水水(教学设计)人美版2025美术一年级下册 .pdf VIP
- 工学一体化课程《小型网络管理与维护》任务2单元2教学单元活动方案.docx VIP
文档评论(0)