邵思敏终极终极版.doc

上传人:豆**** 文档编号:24151577 上传时间:2022-07-03 格式:DOC 页数:38 大小:483KB
返回 下载 相关 举报
邵思敏终极终极版.doc_第1页
第1页 / 共38页
邵思敏终极终极版.doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《邵思敏终极终极版.doc》由会员分享,可在线阅读,更多相关《邵思敏终极终极版.doc(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流邵思敏终极终极版.精品文档.目 录摘 要IIIAbstractIV第一章 绪 论11.1 课题研究的目的与现状11.1.1研究本课题的目的11.1.2技术应用的基本现状21.2 课题研究的主要工作和难点21.2.1主要工作21.2.2研究难点3第二章 多媒体概述42.1 什么是媒体?42.1.1 媒体42.1.2 多媒体42.2 各种音频、视频格式42.2.1 WAV格式52.2.2 CD格式52.2.3 MP3格式52.2.4 WMV格式52.2.5 MP4格式52.2.6 DVD格式62.2.7 RealAudio格式62.2.8 ASF

2、格式6第三章 多媒体播放器的设计73.1 设计思路73.2 界面设计83.2.1 基本界面设置83.2.2 设计思想93.3 播放器模块设计93.4 功能模块设计11第四章 多媒体播放器的实现144.1 设置播放器对话框和菜单144.2 系统功能的实现154.2.1 文件功能的实现154.2.2 播放控制的实现174.2.3 声音控制功能实现194.2.4 显示功能的实现204.3 MCI命令接口编程224.3.1MCI设备224.3.2MCI函数与命令224.3.3MCI命令消息的接口方式244.3.4MCI命令字符串的接口方式28第五章 软件测试295.1 软件测试295.1.1 测试目的

3、295.1.2 测试环境295.1.3 测试模块295.2 软件测试结果305.2.1 版本信息界面305.2.2 主界面305.2.3 播放显示界面305.2.4 打开文件界面315.2.5 视频播放界面315.2.6 列表控制界面315.2.7 菜单控制界面32第六章 软件评价336.1 软件的特点336.2 软件的不足33结 论34参 考 文 献35致 谢36附 录37 摘 要 目前常见的多媒体软件种类繁多,可以说是各有特色,但每款多媒体播放软件都或多或少存在着一些不如人意的地方(这个地方写课题的意义)。课题首先介绍了一些当前的媒体和媒体播放器,提出了他们的优缺点,再详细介绍了多媒体播放

4、器软件的设计过程。这款播放器是基于MFC 集成的开发环境之下,利用系统的MCI(media controller interface)命令接口来进行编程,实现了什么样的功能。开发出的多媒体播放器特点有:体积小,支持播放的格式多、系统资源占用量少、支持播放列表的编辑、支持多种视频格式等优势。(摘要里面写课题的研究意义,然后写课题在什么平台下使用什么工具开发的,采用什么关键技术实现了什么样的功能,然后写系统的优缺点即可)关键字:媒体播放器;MCI;播放列表;音频;视频ABSTRACTAt present, there are many different kinds of common multi

5、media software, can be said to be have distinguishing feature each, but more or less every multimedia playback software has some not satisfied place.And my graduate research topic is based on the design of the multimedia player under the vc + +, topic firstly introduces some current media and media

6、player, puts forward the advantages and disadvantages of them, then introduced a design of multimedia player software by himself.As the player is based on the MFC integrated development environment, using the system of MCI (media controller interface) command interface for programming.Develop multim

7、edia player features are: small volume, support broadcast formats, less system resources footprint, more support playlist editor, supports multiple video formats and other advantages, also can realize the CD tracks.(让英语学习好的同学翻译一下)Key words: A media player,MCI,Playlist, Audio, video 第一章 绪 论伴随着科学技术的不断

8、发展,到二十世纪八十年代初期,多媒体技术开始出现,并在随后迅猛发展壮大,伴随着计算机硬件和软件的不断创新升级、互联网的普及,多媒体技术已成为信息技术领域发展的热点技术之一,而针对目前众多媒体网站和纷杂的媒体格式,如何能简单快捷的播放多类媒体文件已成为人们广泛关注的问题,因此,在这种大环境下,媒体播放器的开发和创新就晓得尤为重要。1.1 课题的研究目的与现状1.1.1课题的研究目的随着网络技术的发展,视频音频网站和视频音频的创作越来越多,而多媒体素材和格式类型也越来越多,其种类繁杂,包括音频、动画、图像、视频等,而因音频、动画、图像、视频等信息容量较大,故它的发展较受外部条件如计算机硬件条件的限

9、制,而随着时代的发展,多媒体技术得到日趋广泛的应用,专业性的视频网站如雨后春笋一般的发展、增多并茁壮成长,导致多媒体视频的播放技术的飞速发展。在生活中,我们经常使用多媒体技术去开发课件、编辑网络课程、开创、维护和发展网站,这些都要利用到多媒体,故而开发制作适用范围广泛的多媒体播放器具有重要的现实意义。可以说多媒体播放软件如今几乎已是每一台计算机的必备软件,使用范围比较广的播放软件主要是迅雷播放器、WindowsMediaPlayer、暴风影音、QQ播放器等等,这些软件能顺利播放RM、RMVB、MP3、MPEG、DAT等格式的媒体文件。同时这些商业化软件在功能上也做的相当完善,基本符合了大多数普

10、通消费者的胃口,但许多人电脑里总是安装了不止一种播放器,这是因为不同的播放器有它不同的特点,不是每个人每台电脑都执著于用一款播放器,因为每一种播放器都有其优缺点,而电脑内播放器过多也较为繁琐,因此设计一个符合自己习惯、适合自己使用的播放器是很有相当可行性的。而本课题研究的播放器和众多其他媒体的播放器想比较,具有功能大、空间小的鲜明特点。1.1.2 技术应用的基本现状Microsoft Visual C+,简称Visual C+、VC+、VC 或MSVC,这是一款针对C+的软件开发工具,由Microsoft公司开发,Microsoft Visual Studio 2010是目前最新的版本,与VC

11、+之前的产品最大的区别是它的各项帮助功能更为强大。MSDN(Microsoft Developer Networking)能为包括VC+2010在内的所有微软程序产品提供在线帮助,同时,函数参数的类型、个数、成员函数、成员变量都能直观清楚的显示在屏幕上。这样,使用此软件的用户就无须记住那些复杂且呆板的函数和参数名,这就使得用VC+编程显得更简单。因此VC可以说是Microsoft公司的突出贡献,其编程的功能相当强大,也得到了广大计算机编程高手的好评和偏爱。目前,多媒体技术已经在若干方面取得了大量应用:1、多媒体的管理信息系统与展示系统;2、多媒体的电子出版物;3、计算机辅助教学、教育培训;4、

12、计算机艺术制作与设计;5、计算机娱乐;6、计算机协同工作。并且计算机和网络技术发展会向协同工作和职能化方面发展。(这里可以增加国内外研究对本课题的研究现状)1.2 课题研究的主要工作和难点“基于VC的多媒体播放器的设计与实现”,其主要任务是深入理解媒体格式,开发出适用与多种媒体格式的播放器软件。1.2.1 主要工作对多媒体的播放器设计使用VC与MFC作为前置对话框,利用Windows MCI(Media Control Interface)控件和VC自带的ActiveX控件ActiveMovieControl Object来完成各类媒体格式的播放和程序界面处理。第一步我要明确的问题是在MCI函

13、数与命令消息中明确名称类型和功能;第二步我要通过描述媒体的播放环节中的详细过程,考查在打开媒体的过程中,所需应用程序要完成的事件,以便于在相应应用程序中加入支持此事件的程序;此后,进行整个程序的框架图的设计与外观设计;最后,编写实现多媒体播放器各功能的程序代码,并进行程序与代码的调试和完善。1.2.2 研究难点(主要写技术上的难点)在本课题研究,我主要遇到了一下难点:对于VC集成开发的工具的熟练度不足,尤其是MFC的使用。在不断克服重重困难进行课题研究的过程中,自我感觉分析问题和解决问题的能力都有了明显的提高,经过努力专研,我所想设计的一个占用空间较小、播放格式较多,且简单实用的小型媒体播放器

14、得以完成,并达到了我的设计目的。第二章 多媒体概述2.1 什么是媒体?2.1.1 媒体所谓媒体,是一种发布和表现计算机信息的方法,如文字文本、图片、语言等。主要可分为以下五种:1、感觉媒体: 指能直接作用在人的感觉器官,使人产生知觉、得到感受的媒体。包括语言、声音、图表、形状、数字、图像、文字等。“多媒体”意义上的媒体,主要就是指这一类媒体。2、表示媒体: 指以传输感觉冲动为目的 的中间手段与方法,其作用为尽量无失真的感受从一端被传往另一端。3、表现媒体: 指在信息的传送过程中把电信号与感觉交换所用的媒体,主要指信息输入/输出的工具和设备。如:屏幕、喇叭、鼠标、键盘、摄像机、麦克风等。4、存储

15、媒体:指用于实现存储功能并表示出媒体的载体载具。其数据存储并不局限于计算机的部件。如:缩微胶片、磁盘等。5、传输媒体:指将表示信息媒体从一端传输到另一端的物质材料。如同轴电缆、光纤、无线方式等。 2.1.2 多媒体所谓多媒体,就是前面所说的各种媒体相互组合统一后的整体。多媒体处理技术会结合前文所述的五种媒体的形式。但仅仅是这样的理解远远没有接触到多媒体的内涵,真正的多媒体应是这样的一个计算机体系:交互式综合处理各种媒体的综合信息,如:图片、文字、形状、音乐等,并将它们组合为一个相联系的系统,共同进行工作。2.2 各种音频、视频格式音频、视频,指用数据变化来表示发音频率高低和振幅大小,并通过模仿

16、的声音经过一些列程序和步骤如抽样、量化、编码后才能发出。目前常见的数字音频、视频格式有:2.2.1 WAV格式WAV格式又称波形声音文件,这种声音文件格式由Microsoft公司开发的,也得到了Windows 平台和其他软件的广泛支持。 特点是此格式下的音频、视频文件支持众多的压缩算法,但因历史太久,发展较慢,其音质较低,同时需要的储存空间很大,不便于传播。2.2.2 CD格式CD格式又称CDA ,是前期信息技术中用得很多的格式,它记录的是波形流,保真的程度相当高,是一种相当适用于保存,并不失真的格式。2.2.3 MP3格式MP3又称MPEG-1 Audio Layer 3,它在上世纪九十年代

17、就被合并到MPEG规范中。MP3能以高质量、低采样率对数字音频和视频文件进行压缩。也就是说,它是相当适合压缩音频、视频文件的格式。2.2.4 WMV格式WMA ( Windows Media Audio ) 是Microsoft专为互联网设计的格式。它能有效的减少数据的占用空间和流量,同时不会发生音质和音量的失真,其甚至可压缩到1/18。另外,WMA通过DRM( Digital Rights Management)方案加入防止拷贝,目的是为了有效的保护知识产权,防止盗版,2.2.5 MP4格式MP4格式,在文件使用中采用的也是能有效保护版权和知识产权的技术,必须是制定的用户才可播放多媒体。另外

18、MP4的压缩率也能达到了1:15,同时在压缩的过程中音质不会下降。2.2.6 DVD格式DVD Audio与DVD Video的容量和尺寸相当,它们的取样频率分别为“48kHz/96kHz/192kHz”和“44.1kHz/88.2kHz/176.4kHz”,两者皆可选择,其量化位数可以为16、20、24比特,此两者亦可自由组合,其音频、视频播放效果相当理想。2.2.7 RealAudio格式RealAudio是Real Networks公司推出的网络背景的多媒体格式,这种格式很容易做到实时进行音频的传输,特别是网速不快的背景下,这种格式的音频、视频文件等数据仍可不失真,仍可快速传输,故而 R

19、ealAudio经常用在在线播放的网站上。目前RealAudio文件格式主要有以下三种:RA(RealAudio)、RM(Real Media,RealAudio G2)、RMX(RealAudio Secured)。2.2.8ASF格式ASF ( Advanced Stream Format)是Microsoft公司的Windows Media的核心。Microsoft将ASF定性成为了同步媒体的文件格式。有着体积小,适合在互联网上进行传输的优点。 第三章 多媒体播放器的设计3.1 设计思路根据各个按钮的控件功能和所选 Windows MediaPlayer 控件的特点,本课题首先在头文件里

20、把CWMPControl,CWMPSettings这类的程序和应用进行绑定和定义,并在以后所需要的程序里调用这些类别的成员函数。对于之后的所需用到的打开文件按键的设计,须用到通用程序的对话框类别,且利用 listbox 里的AddString语句把既定文件放入所要播放的列表之中,这在 MFC 的学习过程中也略有提到。而对于其他一些控制播放功能的实现,就须调用CWMPControl和CWMPPlayer类中的成员函数来实现。 启动播放器加载初始状态信息初始化设置加载播放媒体 加载播放列表窗口操作:播放,暂停,快进等保存基本状态信息 退出播放器图3.1总体功能流程图对于播放列表的设计,本课题使用了

21、SetWindowPos函数来改变子窗口弹出尺寸与方向,并通过相关的函数实现保存列表、删除列表的功能。对应着播放的列表,本设计添加了选择播放的模式的功能,可进行顺序播放、单曲循环、随即播放这三大选择类型。这里运用的是ontimer函数和settimer函数来控制播放模式.本课题设计总体功能步骤与流程如下:启动播放器-基本的状态信息-初始化系统基本设置-播放媒体文件-在进行用户所需的窗口操作-用户选择是否保存播放基本状态的信息-退出播放器。 参照以上的设计思想,流程图如图3.1所示:其中,各个功能逻辑如下所示: (1)、加载基本状态信息:指系统自动读取多媒体播放器的系统配置文件,再将读取的信息提

22、交给系统设置模块进行相关的初始化设置。 (2)、初始化设置:指使用加载信息设置的系统基本状态信息,来设置基本的装填信息。如:窗体显示、播放模式、普通模式、最小化模式、全屏模式和迷你模式。(3)、窗口操作:指包括播放器所有的操作,如播放列表操作、播放控制操作、皮肤选择操作等。3.2 界面设计 最初运用 MFC,建立了对话框为其基本框架。但因本软件是以系统自带的MCI命令接口作为基础,所以为了进一步丰富本软件,本课题将重难点放在界面设计上。而关于对话框,在 Windows 中,对话框是相当重要的成分,是实现人机交互的最重要途径。 如图3.2所示:播放界面播放暂停停止打开 图3.2 对话框功能设计图

23、3.2.1 基本界面设置 如图3.3所示: 图3.3基本界面显示图关于控件,Visual C+的控件是一个独立的程序模块,使用者可直接利用对话框编辑器的交互操作来创建,然后通过控件ID与程序相连,以进行调用。控件比代码更为直观,也更加美观,同时还能大大减少工作量。与此相应的功能函数表如表3.1所示: 表3.1基本功能函数表值描述MCIWNDF_NOAUTOSIZEWINDOW当图大小变化时,MCI窗口不变MCIWNDF_NOAUTOSIZEMOVIE当MCI窗口变化时,目标区域的大小不改变MCIWNDF_NOERRORDLG阻止显示错误对话框MCIWNDF_NOMENU隐藏菜单按钮MCIWND

24、F_NOOPEN隐藏菜单中的关闭、打开按钮MCIWNDF_SHOWPOS在MCI窗口标题栏中,显示当期设备内容的位置MCIWNDF_NOPLAYBAR隐藏工具条,阻止用户对其进行访问MCIWNDF_NOTIFYSIZE当MCI窗口大小变化时通知父窗口3.2.2 设计思想 1、打开文件:m_Open 2、添加文件:CButtonST,IDC_AddSong,m_add 3、播放控制,主要包括:播放,暂停,停止,上一首,下一首,循环播放,播放进程控制。 播放:CButtonST, IDC_PLAY, m_play 3.1 暂停:CButtonST, IDC_PAUSE, m_pause 3.2 停

25、止:CbuttonST, IDC_STOP, m_stop 3.3 上一首:CbuttonST,IDC_PREVIOUS, m_previous 3.4 下一首:CbuttonST,IDC_NEXT, m_next 3.5 循环播放:CbuttonST,IDC_REPEAT, m_repeat 3.6 播放进程控制:CMySliderControl, IDC_SLIDER, m_slider 4.对列表的控制 5.添加控件 List Box,IDC_Song_LIST; 6.媒体播放控件 ActiveMovie Control,定义一个对象 m_ActiveMovie3.3 播放器模块设计 给

26、界面添加ActiveMovie Control Object控件,功能包括打开、关闭、添加、播放、停止、暂停、循环播放等按钮控件。ActiveMovie关键函数说明 :ActiveMovie Control Object 是Microsoft研发的 ActiveX 控件,有以下三种功能:1)、帮助软件开发者实现对一系列多媒体设备的控制,为多媒体设备控制提供接口;2)、此控件中涵盖的一系列高难度的命令可以对任何型号的多媒体设备(如 CD,MIDI 设备,视盘机等)进行视频和音频控制,在一定程度上,能够将这一系列命令当做设备控制界面中的一系列按钮,通过选择不同的按钮实现不同的控制;3)、独立于设备

27、内部运行,控制多媒体设备的视频或者音频播放。下面对播放器程序需要调用的相关函数做简要说明: (1)播放文件的函数: void CActiveMovie3:Run() InvokeHelper(0x60020001,DISPATCH_METHOD,VT_EMPTY,NULL, NULL); (2)暂停播放的函数: void CActiveMovie3:Pase() InvokeHelper(0x60020003,DISPATCH_METHOD,VT_EMPTY,NULL,NULL); (3)停止播放的函数: void CActiveMovie3:Stop() InvokeHelper(0x600

28、20003,DISPATCH_METHOD,VT_EMPTY,NULL, NULL); (4)对音量进行控制的函数设置: void CActiveMovie3:Setvolume(long nNewvalue) Static BYTE parms=VTS_I4; InvokeHelper(0x13,DIAPATCH_PROPERTYPUT,VT_EMPTY,NULL,PARMS, nNewvalue) 3.4 功能模块设计 程序中的播放模块、停止模块、暂停模块、音量控制模块可通过直接调用控件中的函数就可实现。(1)为将所需执行文件添加到播放列表框,本设计采用 OnOpen()函数来显示打开对话

29、框,通过该对话框选择需执行的文件,并为以后调用播放作准备。其代码如下: void CMediaPlayerDlg:OnOpen() char szFileFilter= 所有文件(*.*)|*.*|; /可选择不同格式的媒体文件 CFileDialog fileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(fileDialog.DoModal()=IDOK) /消息响应函数 CString m_FileName=fileDialog.GetPathName();/选择文件 m_list.AddString(m_FileName

30、); /加入到列表框 (2)要进行循环播放,我们可利用定时器来工作,采用 OnTimer()函数来激活设置的定时器,其代码如下: void CMy1Dlg:OnTimer(UINT nIDEvent) CString m_filename; /定义文件变量 double CurPos=m_ActiveMovie.GetCurrentPosition(); /获得播放位置 if(CurPos= = 0) m_list.SetCurSel(0); /选择列表框的第一个文件 m_list.GetText(0,m_filename); m_ActiveMovie.SetAutoStart(1); /设

31、置自动播放 m_ActiveMovie.SetFileName(m_filename); /设置文件 m_ActiveMovie.Run(); /播放 m_list.GetCurSel(); /获得播放文件 m_list.InsertString(-1,m_filename); /插入列表框最后 m_list.DeleteString(0); CDialog:OnTime(nIDEvent); (3)要实现全屏播放功能,我们选择调用 m_ActiveMovie.SetMovieWindowSize函数, 其代码如下: void CMediaPlayerDlg:OnFulscreeen() /全

32、屏函数,实现全屏播放视频的功能 m_ActiveMovie.Pause(); m_ActiveMovie.SetFullScreenMode(true); m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED); m_ActiveMovie.Run();(4)音量模块由增大、减小与静音三部分组成,可通过调用m_ActiveMovie.SetVolume 函数实现,其代码如下: void CMediaPlayerDlg:OnLower() /减小音量函数 long Volume=m_ActiveMovie.GetVolume () ; / 获得当前音

33、量赋值给Volume 变量 m_ActiveMovie.Pause(); /暂停播放 m_ActiveMovie.SetVolume(Volume-300); /设置音量为原音量-300 m_ActiveMovie.Run(); /继续播放 void CMediaPlayerDlg:OnUpper() /增大音量函数 long Volume=m_ActiveMovie.GetVolume () ; / 获得当前音量赋值给Volume 变量 m_ActiveMovie.Pause(); /暂停播放 m_ActiveMovie.SetVolume(Volume+300); /设置音量为原音量+30

34、0 m_ActiveMovie.Run(); /继续播放 void CMediaPlayerDlg:OnMute() /静音函数,实现静音功能 m_ActiveMovie.Pause(); /暂停播放 m_ActiveMovie.SetVolume(-4000); /将音量参数降低 4000,达到静音的效果 m_ActiveMovie.Run(); /继续播放 (5)给退出按钮IDCANCEL添加如下消息映射 OnCancel,并添加一下代码: void CMediaPlayerDlg:OnCancel() / TODO: Add extra cleanup here MessageBox()

35、; CDialog:OnCancel(); 第四章 多媒体播放器的实现4.1 设置播放器对话框和菜单 在对话框类的文件夹中包含控件类,添加的代码如下: /MovieDia.h : header file #include “activemovie3.h” OnPaint( ) 播放器对话框函数 void PlayerDia:OnPaint() if (IsIconic() CPaintDC paintdc (this); / 用来描绘出对话框 SendMessage ( WM_ICONERASEBKGND, ( WPARAM )paintdc.GetSafeHdc(), 0); /在用户端长方

36、形中置图像 int cx = GetSystemMetrics(SM_CXICON); int cy = GetSystemMetrics(SM_CYICON); GetClientRect(&re); CRect re; int x = (re.Width() - cx + 1) / 2; int y = (re.Height() - cy + 1) / 2; /拉图像 dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); 设置对话框的属性,首先在对话框属性框中的Menu 框中点击ID_MENU1 菜单,可把创建的菜单放入到对话框中。然后创建

37、控件类的对象,在对话框类的头文件中添加CActiveMovie3类型的变量,添加的代码如下所示: /MovieDlg.h: header. file Protected : HICON m_hIcon; CActiveMovie3 m_ActiveMovie; 接下来添加菜单的消息映射,并编辑代码响应功能。 4.2 系统功能的实现 4.2.1 文件功能的实现 (1)先打开文件功能。添加“打开”按钮来处理函数,其主要功能为让路径初始化,以取得播放列表文件的路径,利用文件对话框来打开音频或视频文件,具体实现步骤为,在资源列表中,选定需要打开的文件,系统会弹出“添加成员函数”对话框。再将新增加的成员

38、函数的名字定义为OnAdd,并单击“OK”按钮,便可编辑这功能函数,添加如下代码: void PlayerDia:OnAdd () char szFileFilter = /设置打开下拉菜单 “Mp3 File(*.mp3)*.mp3” “Wma File(*.wma)*.wma” “Video File(*.dat)*.dat” “Wave File(*.wav)*.wav” “AVI File(*,avi)*.avi” “Media File(*.mmm)*.mmm” “Mid File(*.mid,*.rmi)*.mid,*rmi” “Movie File(*.mov)*.mov” “M

39、PEG File(*.mpeg)*.mpeg” “All File(*.*)*.*”; CFileDialogdia(TRUE,TRUE,FALSE,OFN_HIDEREADONLY,szFileFilter); 定义打开对话框对象 if(dia.DoModal()=IDOK) CString PName=dia.GetPathName();/获取文件路径 PName.MakeUpper(); m_ActiveMovie.SetFileName(PName);/设置该串为媒体播放器文件 在这中间,第一条语句定义了可供选择的文件类型,第二条语句生成一个“Open File”对话框,而剩下的语句则

40、作为具体的类型选择语句。 相应设备类型描述表如表4.1所示: 表4.1 各设备类型描述表设备类型(Device Type)描述(Description)MCI_BREAK表示设置中断MCI_CLOSE 释放对设备文件的访问MCI_CUE延时播放或者录音MCI_FREEZE将显示定格MCI_INDEX当前屏幕是否显示MCI_INFO获取设备字符串信息MCI_LIST获取输入设备的数量MCI_LOAD加载一个文件MCI_OPEN初始化一个设备或者文件MCI_PLAY开始播放MCI_PAUSE暂停当前动作MCI_SAVE保存当前文件MCI_SET设置设备信息MCI_RESUME重新启动之前暂停的设备

41、MCI_STOP停止播放或录音MCI_STEP使播放设备跳帧MCI_UNDO撤销之前的操作MCI_UPDATE更新显示区域(2)关闭文件功能。选择添加“关闭”按钮的处理函数,主要功能是利用文件的对话框来关闭各媒体文件,其具体实现步骤同(1),添加的代码为: void PlayerDlg:OnClose() /在这里增加控制处理程序代码 m_ActiveMovie.CloseWindow(); /关闭窗口 4.2.2 播放控制的实现 播放控制才是一个多媒体播放器的最重要的功能,三个播放功能分别有播放、停止、暂停三个播放按钮。(1)添加“播放”按钮处理函数,首先需先判断文件的状态,然后调用控件的相

42、关方法来播放多媒体文件,具体实现代码如下: void PlayerDlg:OnPlay() m_ActiveMovie.Run(); SetTimer(0,20, NULL);/设置定时器模式相应设备类型描述表如表4.2所示: 表4.2 各设备类型描述表设备类型(Device Type)描述(Description)SND_APPLICATION表示播放应用程序关联的声音SND_ALIASpszSound表示的是系统时间别名SND_ ALIAS_IDpszSound预订了定义的声音指示标志SND_LOOP声音被循环播放SND_MEMORY播放载入到内容存中SND_NODFAULT不播放默认声音

43、SND_NOSTOP在不停止原来声音的基础上,再次播放声音SND_NOWAIT若驱动程序正忙则函数就不播放声音立即返回SND_PURGE停止所有与调用任务有关的声音SND_RESOURCEpszSound表示一个声音SND_SYNC同步播放声音(2)添加“停止”按钮处理函数,主要功能是利用文件的对话框来停止多媒体文件播放,具体实现代码如下:void PlayerDlg:OnStop() /在这里增加控制处理程序代码 m_ActiveMovie.Stop(); KillTimer(0); /关掉定时器 (3)添加“暂停”按钮处理函数,主要功能是利用文件的对话框暂停多媒体文件的播放,具体实现代码如

44、下: void PlayerDlg:OnPause() / 在这里增加控制处理程序代码 m_ActiveMovie.Pause(); 4.2.3 声音控制功能实现 (1)添加调节音量大小的处理函数,实现代码如下: void PlayerDlg:OnUpper() long Volume=m_ActiveMovie.GetVolume(); /获取当前音量 m_ActiveMovie.Pause(); m_ActiveMovie.SetVolume(Volume+100); /增大音量 m_ActiveMovie.Run(); viod PlayerDlg:OnLower() long Volume=m_ActiveMovie.GetVolume(); /获取当前音量 m_ActiveMovie.Pause(); m_ ActiveMovie.sETvOLUME(Volume-100); /减小音量 m_ ActiveMovie.Run(); /继续播放 (2)添加“重复”按钮处理函数,主要功能是利用文件的对话框进

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com