VC多媒体技术MCI使用

(35页)

'VC多媒体技术MCI使用'
第7章多媒体技术多媒体技术是综合图形、文字、声音和视频图象等多种媒体手段,用于传递和表达 计算机信息的技术o Windows提供了丰富的多媒体服务功能,用户可以根据自己的需求, 编写层次不同的多媒体应用程序。7. 1使用MCI播放WAVE文件的程序实例我们先举一个简单的例子,了解一下多媒体应用程序的编制过程和实现效果。例7. 1声音播放1>新建项目(1) 创建一个基于对话框的应用程序,名为:播放声音(2) 删除原有的“取消”按钮,把“确定”按钮的标题改为“退出”。(3) 添加一个按钮,其ID标识符为:IDC.PLAY,标题为:播放。调整对话框大小和 布局,如图7.1所示。2、为程序添加多媒体支持使用Visual C++编写多媒体程序时必须向项目中添加多媒体支持。步骤如下:(1) Project->Setting->打开 Project Setting 对话框?>切换到Link选项卡,在 Object/Library modules 文本框中输入winmm.lib,如图7.2所示,0K退出。 图7.1播放声音程序的对话框布局图7.2为程序添加多媒体支持(2)在“播放声音Dlg.h”文件的前面写:include <<MMSystem.h,?3、 添加成员变量在CMyDlg类(播放声音Dlg.h)中添加成员变量:MCIDEVICEID m_MCIDeviceID;4、 将一个声音文件如:mail.wav拷贝到此项目文件夹中。5、 在CMyDIg类的OnlnitDialogO成员函数中添加以下代码(可以把其它语句全部注释掉):BOOL CMyDIg: :OnInitDialog(){ CDialog::OnInitDialog();MCI_OPEN_PARMS mciOpenParms; // 打开 MCI 设备 mciOpenParms.lpstrDeviceType=nwaveaudioH; //MCI 设备名 mciOpenParms.lpstrElementName=”mail.wav”; 〃声音文件,此处写你考到文件夹下的声音文件名 mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&m ciOpenParms);m_MCIDeviceID=mciOpenParms.wDeviceID;return TRUE; // return TRUE unless you set the focus to a control}说明:(1) mail.wav是一个WAV声音文件,第4步时已经复制到此项目文件中。程序首先打开了 MCI设 备,并把设备标识赋给了类的成员变量m_MCIDeviceIDo注意声音文件名不要带扩展名.wav。6、 播放声音文件用ClassWizard为播放按钮(IDC_PLAY),在CMyDIg类添加鼠标单击的消息映射函 数,并加如下代码: void CMyDlg::OnPlay(){ 〃添加控件通知消息处理代码MCI_PLAY_PARMS mciPlayParms;mciPlayParms.dwFrom=0; 〃从文件开始处开始播放 mciSendCommand(m_MCIDeviceID,MCI_PLAY,MCI_FROM,(DWORD)(LPVOID)&mciPlayParms);}7、 在程序退出时停止播放并关闭MCI设备用ClassWizard为CMyDIg类添加WM.DESTROY消息,该消息映射函数能使程序 退出时停止声音文件的播放并关闭MCI设备。void CMyDlg::OnDestroy(){ CDialog::OnDestroy();mciSendCommand(m_MCIDeviceID,MCI_STOP,MCI_WAIT,NULL);// 停止播放 mciSendCommand(m_MCIDeviceID,MCI_CLOSE,MCI_WAIT,NULL); 〃关闭 MCI 设备}(8)编译并运行程序,在单击“播放”按钮时,程序将播放声音;当单击“退出”按 钮或单击窗口的关闭按钮时,声音播放会立即停止。7. 2 MCI (媒体控制接口)媒体控制接口 (Media Control Interface)为Windows程序提供了在高层次上控制媒 体设备接口的能力。程序不必关心具体设备,就可以对激光唱机(CD)、视盘机、波形 音频设备、视频播放设备和MIDI设备等媒体设备进行控制。对于程序员来说,可以把MCI理解为设备面板上的一排按钮,通过选择不同的按键(发送不同的MCI命令)就可以 让设备完成各种功能,而不必关心设备内部实现。例如,对于play按键,视盘机和CD 机有不同的反应(一个是播放视频,一个是播放音频),而对用户来说只需要按同一按钮。 利用MCI控制多媒体设备分为打开、使用和关闭设备三个过程。7. 2. 1 MFC设备类型设备类型是指响应一组共用命令的一类MCI设备。表7.1列出了 MFC设备类型。表7. 1 MCI设备类型设备类型说明设备描述设备驱动程序animation动画播放设备MCI_DEVICE_ANIMATIONcdaudioCD音频设备,如激光唱机MCI_DEVICE_CD_AUDIOMCICDA.DRVdat数字音频磁带机MCI_DEVICE_DATdigitalvideo数字视频设备MCI_DEVICE_DIGITAL_VIDEOother未定义的MCI设备MCI_DEVICE_OTHERoverlay窗口中的模拟设备MCI_DEVICE_OVERLAYscanner图形扫描设备MCI_DEVICE_SCANNERsequencerMIDI设备MCI_DEVICE_SEQUENCERMCISEQ.DRVver录彖机设备MCI_DEVICE_VCRvideodisc影碟播放设备MCI_DEVICE_VIDEODISKMCIPIONR.DRVwaveaudio波形音频设备MCI_DEVICE_WAVEAUDIOMCIWAVE.DRVmmmovie多媒体影片播放机MCIMMP.DRV所有设备MCI_ALL_DEVICE」Davivideo视频音频交叉设备7. 2. 2 MCI命令与函数应用程序通过MCI设备发送命令来控制MCI设备。1、 MCI命令MCI发送命令有2种方法,一是调用MCI函数mciSendStringO,向MCI发送命令字 符串,二是调用MCI函数mciSendCommand()函数,向MCI发送命令消息,如表7.2所示。2、 MCI函数所有的MCI函数名都是以mci为前缀
关 键 词:
VC 多媒体技术 MCI 使用
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:VC多媒体技术MCI使用
链接地址: https://www.wenku365.com/p-43446182.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开