《多媒体编程》PPT课件.ppt
《《多媒体编程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《多媒体编程》PPT课件.ppt(44页珍藏版)》请在三一办公上搜索。
1、第 12 章 多媒体编程 12.1 多媒体程序设计基础 12.2 Windows的多媒体服务 12.3 ActiveX控件,Visual C+程序设计与应用教程,2,12.1 多媒体程序设计基础,多媒体中的“媒体”是指一种表达某种信息内容的形式,如声音、图像、图形和文字等。所谓多媒体就是多种信息的表达方式或者是多种信息的类型。,3,12.1.1 多媒体程序设计的原理,Windows操作系统对多媒体的支持包括硬件和软件两个方面。硬件支持包括对硬件设备即插即用(PNP)的支持,系统自动分配输入输出地址(IO)和中断号(IRQ)。软件的支持体现在多媒体应用程序开发的设备无关性,表现为应用程序通过操作
2、系统提供的多媒体驱动程序访问硬件设备。,4,12.1.2 多媒体数据格式,Windows支持多种不同的多媒体数据格式,但是总的说可以分为两大类:音频和视频。,5,1音频 音频信息是随时间变化的模拟信号,为将其变成计算机能够处理的数字信号,必须通过模数转换器进行信号转换。经计算机处理后的音频信息在播放时,需通过数模转换器将数字信号重新还原为模拟信号。实现这两种转换机制的模数转换器和数模转换器均集成在声卡中。在计算机技术发展的初期,计算机中音频格式的数据文件主要是MIDI和WAV两种类型。但是随着计算机技术的发展又出现了MP3、RM等不同类型的音频数据格式。,6,2视频 视频格式的内容主要满足人们
3、观赏需要。它可以是一系列活动的图像,也可以是静止的图像,同时也可以包括音频的内容。在计算机技术发展的初期,计算机中视频格式的数据文件主要是AVI格式的活动图像和BMP格式的静止图像。但是随着计算机技术的发展又出现了RM、MPEG等不同类型的视频数据格式。,7,12.2 Windows的多媒体服务,Windows提供了丰富的多媒体服务功能,包括大量从低级到高级的多媒体API函数。为了利用这些API,使用Visual C+设计多媒体应用程序通常需要下面3个步骤:,8,引用头文件。对于大多数多媒体函数的引用必须在系统中包含头文件mmsystem.h,该文件包含了有关多媒体函数的原型、数据结构及相关常
4、数的定义。链接多媒体函数库winmm.lib。绝大多数的多媒体函数存在于独立的多媒体函数中,因此,必须在应用程序中予以说明。在应用程序中写入执行多媒体调用的代码。,9,12.2.1 高级音频函数,Windows提供了3个特殊的播放声音的高级音频函数:1MessageBeep()函数BOOL MessageBeep(UINT uType);该函数主要用来播放系统报警声音。,10,2PlaySound()函数BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);参数pszSound是指定了要播放声音的字符串,该参数可以是波形文件的文
5、件名,或是波形(WAVE)资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL,则停止正在播放的声音。,11,假设在C:WindowsMedia目录下有一个名为Sound.wav的声音文件。下面使用3种方法调用PlaySound()函数来播出这个声音文件。直接播出声音文件PlaySound(“c:WindowsmediaSound.wav”,NULL,SND_FILENAME|SND_ASYNC);,12,把声音文件加入到资源中,然后从资源中播放声音 Visual C+支持WAVE型资源,用户在资源视图中单击鼠标右键并选择Import命
6、令,然后在文件选择对话框的文件类型选择框中选择Wave File(*.wav)文件,然后在文件选择框中选择Sound.wav,则将Sound.wav文件加入到WAVE资源中。缺省时声音资源的ID为IDR_WAVE1。PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetInstanceHandle(),SND_RESOURCE|SND_ASYNC);,13,用PlaySound()函数播放系统声音 Windows启动的声音是由SystemStart定义的系统声音,用下面的方法播放启动声音:PlaySound(“SystemStart”,NULL,SND_ALIA
7、S|SND_ASYNC);,14,3sndPlaySound()函数sndPlaySound()函数的功能与PlaySound()类似:BOOL sndPlaySound(LPCSTR lpszSound,UINT fuSound);除了不能指定资源名字外,参数lpszSound与PlaySound()是一样的。sndPlaySound()函数不能直接播放声音资源。要用该函数播放WAVE文件,可按下面的方式调用:sndPlaySound(Sound.wav,SND_ASYNC);,15,【例12.1】编写一个基于对话框的应用程序Funcwav,利用高级音频函数完成一个简单的WAVE播放器的制作
8、。运行效果如图所示。,16,12.2.2 多媒体控制接口MCI,MCI(Media Control Interface)媒体控制接口是Microsoft提供的一组多媒体设备和文件的标准接口1MCI的设备类型媒体控制接口允许控制两类设备:简单设备,是指那些不需要文件的设备,如CD音频播放设备;复合设备,是那些需要文件的设备,如数字视频及波形音频设备等。,17,2MCI接口函数 一般来说,访问 MCI,通常使用两个高级接口函数:命令字符串接口mciSendString()和命令消息接口mciSendCommand()。,18,(1)mciSendString()函数 MCIERROR mciSen
9、dString(LPCTSTR lpszCommand,LPTSTR lpszReturnString,UNIT ccReturn,HANDLE hwndCallback);若成功则返回0,否则返回错误码。第一个参数为一串控制字符串,返回信息由系统填入第二个参数,第三个参数指明返回信息的最大长度,若对MCI装置设定了notify标志则需要在第四个参数填上返回窗口句柄。,19,mciSendString()采用字符串的方式,使用起来比较简单。例如,打开了一个CD播放机后,可以发送下列常用的命令来控制CD机:play cdaudio fromto 若省略from则从当前磁道开始播放,省略to则播放
10、到结束pause cdaudio/暂停播放stop cdaudio/停止播放resume cdaudio/继续被暂停的播放status cdaudio number of tracks查询CD的磁道数。status cdaudio current track 可以查询当前磁道seek cdaudio to/移动到指定磁道set cdaudio door open/closed/弹出或缩进CD盘close cdaudio/关闭设备,20,(2)MciSendCommand()函数 MCI的命令消息接口提供了C语言接口,它速度更快,并且更能符合C/C+程序员的需要。MCIERROR mciSend
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体编程 多媒体 编程 PPT 课件
链接地址:https://www.31ppt.com/p-5488998.html