第11讲 多媒体应用程序的设计.ppt

第11讲 多媒体应用程序的设计.ppt

ID:60760524

大小:152.00 KB

页数:46页

时间:2020-02-02

第11讲 多媒体应用程序的设计.ppt_第1页
第11讲 多媒体应用程序的设计.ppt_第2页
第11讲 多媒体应用程序的设计.ppt_第3页
第11讲 多媒体应用程序的设计.ppt_第4页
第11讲 多媒体应用程序的设计.ppt_第5页
资源描述:

《第11讲 多媒体应用程序的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第12章多媒体应用程序的设计112.1利用音频函数实现多媒体程序设计为了介绍多媒体程序的设计,我们先介绍一个非常简单的例子,希望读者能够通过这个简单的例子,了解音频文件的播放方法212.1.1一个简单的应用实例【例12-1】设计一个简单的音频播放程序,程序启动时,播放windows系动启动时候的音乐1.创建工程文件MCIStart;打开Stdafx.h文件,在#ifndef_AFX_NO_AFXCMN_SUPPORT语句的上一行顶头加入语句#include2.将winmm.lib与应用程序链接起来

2、3.在MCIStartDlg.cpp的OnInitDialog()函数中的returnTRUE之前加上代码:sndPlaySound("SystemStart",SND_ASYNC);3PlaySound()sndPlaySound()12.1.2几个常用的音频函数MessageBeep()函数:用来播放系统提示音sndPlaySound()函数:播放wav音频PlaySound()函数:播放来自资源中的声音MessageBeep()功能包含关系412.1.3用MCI控制波形声音的播放MCIERRORmciSendCom

3、mand(MCIDEVICEIDIDDevice,//接收命令消息的MCI设备IDUINTuMsg,//发送的命令消息DWORDfdwCommand,//命令消息的标志集DWORD_PTRdwParam)//消息参数的结构体地址常用的MCI设备消息见教材表12-55在调用MCI设备时可用mciGetErrorString()检测错误,该函数的原型如下:BOOLmciGetErrorString(DWORDfdwError,//错误代码LPTSTRlpszErrorText,//指向错误内容字串的指针UINTcchErro

4、rText//错误内容的缓冲区容量)6【例12-2】编写一个音频播放器程序,可以选择音频文件,并控制其播放、暂停播放、暂停后的继续播放以及停止播放的功能IDC_OPEN_BUTTONIDC_CLOSE_BUTTONIDC_START_BUTTONIDC_PAUSE_BUTTONIDC_STOP_BUTTONIDC_EXIT_BUTTON71.将头文件mmsystem.h加入到文件Stdafx.h中,将多媒体函数库winmm.lib通过project菜单中的seetings命令来与程序链接起来2.在CMCIPlayerDl

5、g类上增加Protected类型的成员变量,具体如下:BOOLm_Psign;//作为判断正在播放的标识BOOLm_Asign;//作为判断暂停的标识DWORDdwError;//用来储存错误代码MCIDEVICEIDm_MCIDeviceID;//用来储存打开设备的ID值charszErrorBuf[MAXERRORLENGTH];//用来储存出错内容8BOOLCMCIPlayerDlg::OnInitDialog(){CDialog::OnInitDialog();…//TODO:Addextrainitializa

6、tionherem_PSign=FALSE;//初始化正在播放标识m_ASign=FALSE;//初始化正在暂停标识m_MCIDeviceID=0;//初始化设备标识returnTRUE;}9voidCMCIPlayerDlg::OnOpenButton()//打开一个文件{CStringfilename;//定义CString类的filename用来存储文件名CStringfileext;//定义CString类的fileext用来存储文件扩展名MCI_OPEN_PARMSmciOpenParms;//定义结构体变量用

7、来存储打开文件的信息和返回的设备标识信息DWORDdwError;//定义dwError用来储存返回的错误标识staticcharszFilter[]="波形音频文件(*.wav)

8、*.wav

9、MIDI序列(*.mid)

10、*.mid";CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY

11、OFN_OVERWRITEPROMPT,szFilter);//通过打开按钮时显示的内容10if(dlg.DoModal()==IDOK){filename=dlg.GetFileName()

12、;//获取打开的文件名fileext=dlg.GetFileExt();//获取打开的文件扩展名if(m_PSign)//如果程序正在播放,则关闭{dwError=mciSendCommand(m_MCIDeviceID,MCI_CLOSE,0,NULL);//关闭正在播放的声音if(dwError)//如果关闭不成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。