欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《多媒体编程》PPT课件.ppt

    • 资源ID:5488998       资源大小:220KB        全文页数:44页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《多媒体编程》PPT课件.ppt

    第 12 章 多媒体编程 12.1 多媒体程序设计基础 12.2 Windows的多媒体服务 12.3 ActiveX控件,Visual C+程序设计与应用教程,2,12.1 多媒体程序设计基础,多媒体中的“媒体”是指一种表达某种信息内容的形式,如声音、图像、图形和文字等。所谓多媒体就是多种信息的表达方式或者是多种信息的类型。,3,12.1.1 多媒体程序设计的原理,Windows操作系统对多媒体的支持包括硬件和软件两个方面。硬件支持包括对硬件设备即插即用(PNP)的支持,系统自动分配输入输出地址(IO)和中断号(IRQ)。软件的支持体现在多媒体应用程序开发的设备无关性,表现为应用程序通过操作系统提供的多媒体驱动程序访问硬件设备。,4,12.1.2 多媒体数据格式,Windows支持多种不同的多媒体数据格式,但是总的说可以分为两大类:音频和视频。,5,1音频 音频信息是随时间变化的模拟信号,为将其变成计算机能够处理的数字信号,必须通过模数转换器进行信号转换。经计算机处理后的音频信息在播放时,需通过数模转换器将数字信号重新还原为模拟信号。实现这两种转换机制的模数转换器和数模转换器均集成在声卡中。在计算机技术发展的初期,计算机中音频格式的数据文件主要是MIDI和WAV两种类型。但是随着计算机技术的发展又出现了MP3、RM等不同类型的音频数据格式。,6,2视频 视频格式的内容主要满足人们观赏需要。它可以是一系列活动的图像,也可以是静止的图像,同时也可以包括音频的内容。在计算机技术发展的初期,计算机中视频格式的数据文件主要是AVI格式的活动图像和BMP格式的静止图像。但是随着计算机技术的发展又出现了RM、MPEG等不同类型的视频数据格式。,7,12.2 Windows的多媒体服务,Windows提供了丰富的多媒体服务功能,包括大量从低级到高级的多媒体API函数。为了利用这些API,使用Visual C+设计多媒体应用程序通常需要下面3个步骤:,8,引用头文件。对于大多数多媒体函数的引用必须在系统中包含头文件mmsystem.h,该文件包含了有关多媒体函数的原型、数据结构及相关常数的定义。链接多媒体函数库winmm.lib。绝大多数的多媒体函数存在于独立的多媒体函数中,因此,必须在应用程序中予以说明。在应用程序中写入执行多媒体调用的代码。,9,12.2.1 高级音频函数,Windows提供了3个特殊的播放声音的高级音频函数:1MessageBeep()函数BOOL MessageBeep(UINT uType);该函数主要用来播放系统报警声音。,10,2PlaySound()函数BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);参数pszSound是指定了要播放声音的字符串,该参数可以是波形文件的文件名,或是波形(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命令,然后在文件选择对话框的文件类型选择框中选择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_ALIAS|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播放器的制作。运行效果如图所示。,16,12.2.2 多媒体控制接口MCI,MCI(Media Control Interface)媒体控制接口是Microsoft提供的一组多媒体设备和文件的标准接口1MCI的设备类型媒体控制接口允许控制两类设备:简单设备,是指那些不需要文件的设备,如CD音频播放设备;复合设备,是那些需要文件的设备,如数字视频及波形音频设备等。,17,2MCI接口函数 一般来说,访问 MCI,通常使用两个高级接口函数:命令字符串接口mciSendString()和命令消息接口mciSendCommand()。,18,(1)mciSendString()函数 MCIERROR mciSendString(LPCTSTR lpszCommand,LPTSTR lpszReturnString,UNIT ccReturn,HANDLE hwndCallback);若成功则返回0,否则返回错误码。第一个参数为一串控制字符串,返回信息由系统填入第二个参数,第三个参数指明返回信息的最大长度,若对MCI装置设定了notify标志则需要在第四个参数填上返回窗口句柄。,19,mciSendString()采用字符串的方式,使用起来比较简单。例如,打开了一个CD播放机后,可以发送下列常用的命令来控制CD机:play cdaudio fromto 若省略from则从当前磁道开始播放,省略to则播放到结束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 mciSendCommand(MCIDEVICEID wDeviceID,UINT uMsg,DWORD dwFlags,DWORD dwParam);若成功则返回0,否则返回错误码。第一个参数指定了设备标识,这个标识会在程序员打开MCI设备时由系统提供。第二个参数为命令消息。第三个参数为命令消息的标志,第四个参数是指向包含一个命令消息的数据结构。,21,【例12.2】编写一个基于对话框的应用程序Mciwav,利用MCI的命令消息接口完成一个简单的WAVE播放器的制作。,22,MCIWnd窗口类,使用MCI要调用低层函数并且要编写大量的代码,这对大多数不熟悉Windows API编程的人是非常困难的。Visual C+把MCI封装成一个窗口类MCIWnd。这样,在编写多媒体窗体程序时,调用MCIWnd类就可以了。若在应用程序中使用MCIWnd窗口类,必须在调用MCIWnd函数所在的源文件的前面添加vfw.h的头文件,以及编译时加入vfw32.lib库。,23,1MCIWnd类简介 MCIWnd类支持WAV、MIDI、CD音频以及AVI视频的操作。设置MCIWnd类的风格,可以在窗口中显示对媒体操作的工具条;调用宏,可以对媒体进行相应的操作。(1)MCIWnd类常用的风格如下表所示。,24,25,(2)常用类的宏。,26,(3)成员函数。MCIWndCreate()是使用MCIWnd类重要的函数。HWND MCIWndCreate(HWND hwndParent,HINSTANCE hinstance,DWORD dwStyle,LPSTR szFile);参数说明如下。hwndParent:父窗口句柄;hinstance:与MCIWnd类相关的当前实例句柄:dwStyle:MCIWnd窗口风格;szFile:多媒体文件名。,27,2MCIWnd类的使用使用MCIWnd类的步骤如下:使用MCIWndRegister()注册窗口类,或直接用MCIWndCreate()创建窗口;取得窗口句柄;调用成员函数打开设备。由于MCIWnd窗口提供了相应的媒体控制按钮,因而不需要用户编写额外的代码。作为技巧,用户还应该跟踪MCIWnd窗口的一些消息(如MCIWNDM_ NOTIFYSIZE)来调整MCIWnd窗口。在stdafx.h中加入头文件vfw.h,在Project Settings中Link选项卡里的Object/library lib里填写vfw32.lib,这样把这个库文件在编译时链接进去。,28,【例12.3】编写一个多文档应用程序Ex_MCI,利用MCIWnd窗口类在多文档应用程序中添加一个多媒体播放器。,29,12.3 ActiveX控件,12.3.1 ActiveX控件简介,ActiveX技术建立在微软的组件对象模型(Compoment Object Model,COM)技术之上,并使用COM的接口和交互模型使ActiveX控件与其容器进行完全无缝的集成。ActiveX主要由ActiveX容器、ActiveX服务器、ActiveX控件等组成。ActiveX控件是一组封装在COM对象中的功能模块。,30,1ActiveX控件的属性 属性是可见的、并能被容器应用程序经常修改的,一般指控件的颜色、字体、文本和控件中所用的一些其他元素。属性是ActiveX控件的数据成员,并暴露到容器。属性为包含ActiveX控件的应用程序提供了接口。4种基本的属性类型是:环境(ambient)、扩展(extended)、库存(stock)和定制(custom)。,31,2ActiveX控件的方法 ActiveX控件的方法在使用和目的上与C+类成员函数类似,如改变控件的外观、行为和属性等。它分为两类:库存方法和自定义方法。库存方法由COleControl类实现。自定义方法则是由软件开发人员为某种特定目的而定义的一种方法。,32,3ActiveX控件的事件 事件是控件发送给容器应用程序的通知消息。它们被用于通知容器应用程序某种事件已经发生,然后应用程序可在需要时对该事件采取相应的措施。从控件中可触发两种类型的事件:库存事件和定制事件。,33,12.3.2 ActiveX控件的使用 要使用ActiveX控件必须先注册,并把它添加到自己的项目中。1控件的注册 一般来说,一个外来的ActiveX控件要在Windows中正确使用,首先必须将控件文件(*.ocx)复制到硬盘中,然后将其在Windows中注册,未在Windows中注册的ActiveX控件是不能使用的。,34,对ActiveX控件进行注册方法:使用ActiveX控件所带的安装程序。使用Regsvr32.exe程序 使用regsvr32.exe来注册ActiveX控件,必须手工注册。首先将ActiveX控件文件复制到Windows目录的system子目录下,然后单击【开始】|【运行】,在运行对话框中输入以下命令:regsvr32/注册一个ActiveX控件regsvr32/u/解除某ActiveX控件,35,2向应用程序添加ActiveX控件 下面以向对话框应用程序中添加一个Calendar Control8.0控件为例,说明在程序中添加和使用ActiveX控件的具体步骤。(1)使用MFC AppWizardexe创建一个新的对话框应用程序,取名为ActiveX。(2)在AppWizard的第二步保留ActiveX Controls的复选框为选中状态,应用程序标题设为ActiveX Controls。,36,(3)在生成了应用程序外壳之后,删除所有控件。(4)从Visual C+菜单中选择Project|Add To Project|Components and Controls,打开Components and Controls Gallery对话框.(5)在Components and Controls Gallery对话框中,找到Registed ActiveX Controls文件夹,显示所有已注册的AxtiveX控件,如图所示。,37,38,(6)选中要添加的控件,如Calendar Control8.0控件,单击Insert按钮。当提问是否要在项目中插入该控件时,单击消息框中的OK按钮。(7)在Confirm Classes对话框中,单击OK按钮以添加所指定的C+类,如图所示。,39,(8)在Components and Controls Gallery对话框中,单击Close按钮,以完成给项目添加控件的工作。此时,控件Calendar Control 8.0应该已被添加到对话框窗口的Controls工具栏上。如果查看一下工作区窗格的ClassView区,就会看到新添加到项目中的两个类分别是CCalendar、COleFont。展开类的树型视图,可看到这些类的许多方法。,40,3使用ActiveX控件 在向应用程序添加了新ActiveX控件后,就可以与使用标准控件一样使用它了,调用控件的各种方法并对控件事件作出响应。因为Calendar控件非常简单,这里仅作一个测试。步骤如下。(1)在Controls工具栏中选择Calendar控件,并把它添加到对话框窗口中。(2)编译链接并运行程序,执行结果如下图所示,新控件显示的日期为系统的当前日期。,41,42,12.3.3 使用ActiveMovie控件的播放器 可视动画控件ActiveMovie是Microsoft公司开发的ActiveX控件,由于该控件内嵌了Microsoft MPEG音频解码器和Microsoft MPEG视频解码器,所以能够很好地支持音频文件和视频文件,播放时若用鼠标右键单击画面,可以直接对画面的播放、暂停、停止等进行控制。该控件的外观如下图所示。,43,44,【例12.4】编写一个基于对话框的应用程序Movie,利用ActiveMovie控件制作播放器。,

    注意事项

    本文(《多媒体编程》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开