欢迎来到天天文库
浏览记录
ID:45300732
大小:260.50 KB
页数:44页
时间:2019-11-11
《《多媒体编程》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12章多媒体编程12.1多媒体程序设计基础12.2Windows的多媒体服务12.3ActiveX控件VisualC++程序设计与应用教程112.1多媒体程序设计基础多媒体中的“媒体”是指一种表达某种信息内容的形式,如声音、图像、图形和文字等。所谓多媒体就是多种信息的表达方式或者是多种信息的类型。212.1.1多媒体程序设计的原理Windows操作系统对多媒体的支持包括硬件和软件两个方面。硬件支持包括对硬件设备即插即用(PNP)的支持,系统自动分配输入/输出地址(I/O)和中断号(IRQ)。软件的支持体现在多媒体应用程序开发的设备无关性,
2、表现为应用程序通过操作系统提供的多媒体驱动程序访问硬件设备。312.1.2多媒体数据格式Windows支持多种不同的多媒体数据格式,但是总的说可以分为两大类:音频和视频。41.音频音频信息是随时间变化的模拟信号,为将其变成计算机能够处理的数字信号,必须通过模/数转换器进行信号转换。经计算机处理后的音频信息在播放时,需通过数/模转换器将数字信号重新还原为模拟信号。实现这两种转换机制的模/数转换器和数/模转换器均集成在声卡中。在计算机技术发展的初期,计算机中音频格式的数据文件主要是MIDI和WAV两种类型。但是随着计算机技术的发展又出现了MP3
3、、RM等不同类型的音频数据格式。52.视频视频格式的内容主要满足人们观赏需要。它可以是一系列活动的图像,也可以是静止的图像,同时也可以包括音频的内容。在计算机技术发展的初期,计算机中视频格式的数据文件主要是AVI格式的活动图像和BMP格式的静止图像。但是随着计算机技术的发展又出现了RM、MPEG等不同类型的视频数据格式。612.2Windows的多媒体服务Windows提供了丰富的多媒体服务功能,包括大量从低级到高级的多媒体API函数。为了利用这些API,使用VisualC++设计多媒体应用程序通常需要下面3个步骤:7引用头文件。对于大多数
4、多媒体函数的引用必须在系统中包含头文件mmsystem.h,该文件包含了有关多媒体函数的原型、数据结构及相关常数的定义。链接多媒体函数库winmm.lib。绝大多数的多媒体函数存在于独立的多媒体函数中,因此,必须在应用程序中予以说明。在应用程序中写入执行多媒体调用的代码。812.2.1高级音频函数Windows提供了3个特殊的播放声音的高级音频函数:1.MessageBeep()函数BOOLMessageBeep(UINTuType);该函数主要用来播放系统报警声音。92.PlaySound()函数BOOLPlaySound(LPCSTRp
5、szSound,HMODULEhmod,DWORDfdwSound);参数pszSound是指定了要播放声音的字符串,该参数可以是波形文件的文件名,或是波形(WAVE)资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL,则停止正在播放的声音。10假设在C:\WindowsMedia目录下有一个名为Sound.wav的声音文件。下面使用3种方法调用PlaySound()函数来播出这个声音文件。直接播出声音文件PlaySound(“c:\Windows\mediaSound.w
6、av”,NULL,SND_FILENAME
7、SND_ASYNC);11把声音文件加入到资源中,然后从资源中播放声音VisualC++支持WAVE型资源,用户在资源视图中单击鼠标右键并选择Import命令,然后在文件选择对话框的文件类型选择框中选择WaveFile(*.wav)文件,然后在文件选择框中选择Sound.wav,则将Sound.wav文件加入到WAVE资源中。缺省时声音资源的ID为IDR_WAVE1。PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetInstanceHandle(),SND_RE
8、SOURCE
9、SND_ASYNC);12用PlaySound()函数播放系统声音Windows启动的声音是由SystemStart定义的系统声音,用下面的方法播放启动声音:PlaySound(“SystemStart”,NULL,SND_ALIAS
10、SND_ASYNC);133.sndPlaySound()函数sndPlaySound()函数的功能与PlaySound()类似:BOOLsndPlaySound(LPCSTRlpszSound,UINTfuSound);除了不能指定资源名字外,参数lpszSound与PlaySound()是一
11、样的。sndPlaySound()函数不能直接播放声音资源。要用该函数播放WAVE文件,可按下面的方式调用:sndPlaySound("Sound.wav",SND_ASYNC)
此文档下载收益归作者所有