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

    基于ActiveMovie组件的多媒体播放器的实现.doc

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

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

    基于ActiveMovie组件的多媒体播放器的实现.doc

    河南大学2007届本科毕业论文基于ActiveMovie组件的多媒体播放器的实现 Implementation of a Multimedia Player Based on ActiveMovie Components 论文作者姓名:吴宏凯 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:于静洋(讲师) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023200姓名吴宏凯导师姓名职称于静洋(讲师)开题时间2006年12月1日课题题目基于ActiveMovie组件的多媒体播放器课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的为了进一步增加对多媒体知识的了解,进一步熟悉多媒体编程方面的知识,从而使自己在多媒体理论、编程实践方面都有一个较大的提高。2、意义多媒体技术已经成为当今比较热门的研究课题,因此掌握多媒体及多媒体技术的相关知识,了解多媒体技术当前的发展状况及未来的发展前景,并能熟练地进行多媒体技术的开发,对于当前即将毕业的大学生来讲,是很有必要的。3、现状多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点,特别是伴随着多媒体技术的网络化,使得多媒体技术的发展前景无限广阔。研究目标、研究内容和准备解决的问题:1、目标设计出一款基于Windows ActiveMovie组件的、能播放大多主流媒体格式的、功能完善、使用方便的多媒体播放器。2、内容了解Windows ActiveMove组件的功能、成员及应用,熟悉播放器各个功能模块及其实现过程,熟悉播放器的底层工作原理,熟悉ActiveMovie组件的应用,了解媒体编码解码原理。本播放器设计将不采用任何第三方控件,欲采用的是Windows底层组件进行解码播放,该组件主要是支持MP3播放,所以必须对MP3音频文件格式进行了解,熟悉MP3编码方式和文件结构,熟悉基于XML的更改皮肤原理。3、准备解决的问题(1)利用系统组件实现最基本的媒体播放。(2)自己实现进度条进行播放控制、音量控制。(3)播放列表和播放模式控制。(4)同步歌词显示。(5)迷你播放器实现。(6)切割窗体。(7)最小化后系统托盘显示。拟采取的方法、技术或设计(开发)工具: 本系统将采用Visual Basic 6.0开发平台预期成果:1、毕业设计成果基于ActiveMovie组件的多媒体播放器2、毕业论文进度计划:2006.12.1 - 2007.1.15:查找资料、搜集相关素材 2006.1.16 - 2007.2.11:进行项目的需求分析、概要设计2006.2.12 - 2007.4.1:实现主窗体和播放列表窗体的主要功能2007.4.2 - 2007.4.11:实现加载系统初始化状态功能、实现皮肤更换功能、实现歌词同步显示功能2007.4.12 - 2007.4.21:实现迷你播放窗体功能、实现系统最小化托盘显示功能2007.4.22 - 2007.4.30:完善系统功能并进行系统功能测试2007.5.1 - 2007.5.20:整理资料、撰写毕业论文2007.5.20 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见: 该生选题符合要求,进度计划安排合理,同意开题。 指导教师签名: 2006年12月1日河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023200姓名吴宏凯导师姓名于静洋任务书起止日期2006年12月8日 至 2007年5月20日论文提要:论文将以项目开发为主线,介绍基于ActiveMovie组件的“多媒体播放器”实现的过程,文章内容将主要包括项目设计开发背景的介绍、相关多媒体理论应用的介绍、基本播放功能的设计与实现、播放列表功能的设计与实现、歌词显示功能的设计与实现等等。课题任务要求:系统的设计与开发要求必须熟悉多媒体相关理论知识,熟悉Visual Basic 6.0开发平台的应用,熟悉播放器实现的相关原理及其实现方法,了解Windows API相关编程,熟悉Windows ActiveMove组件的功能、成员及应用。主要目的就是以项目带动自己对相关知识的学习,使自己对多媒体软件开发有更加深刻、全面地认识。最终基本实现:主流播放器所有的基本功能能够播放大多的媒体格式、能够进行各种播放控制、实现多媒体列表播放、实现歌词同步显示、能够显示媒体文件信息、能够更改系统皮肤等等。主要参考文献:1 林福宗,多媒体技术基础,第2版,清华大学出版社,2002年9月2 钟玉琢,多媒体计算机技术基础及应用,清华大学出版社,2006年2月3 ZE-NIAN LI等著,多媒体技术教程,机械工业出版社,2007年1月4 彭波等著,多媒体技术及应用,机械工业出版社,2006年4月5 Microsoft,MSDN Library Visual Studio 6.0(CHS)6 赵子江,多媒体技术应用教程,第3版,机械工业出版社,2003年8月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称基于ActiveMovie组件的多媒体播放器的实现学号03023200所学专业计算机科学与技术指导教师姓 名于静洋姓名吴宏凯一、毕业设计进展情况完成了系统设计开发的前期准备工作;完成了系统需求分析、概要设计阶段的工作;进入编码实现阶段,实现了主窗体(基本播放、基本播放控制)和播放列表窗体(媒体列表播放、播放列表操作新建、删除、修改)的基本功能,实现了加载系统初始化状态(播放状态、显示模式等)的功能,实现了更换系统皮肤、歌词同步显示功能。二、存在问题使用播放组件出现问题,正常播放情况下,在用播放对象获取相关播放信息(播放位置、播放音量等)时出现对象没有相关属性的异常,通过多次尝试得以解决,原因是创建播放对象但还未开始播放时,不能获取播放位置等信息,根本原因在于播放控制存在问题,需要改进。还有就是对用户定制进度条进行控制播放还没有特别清晰的思路。还没有实现一句歌词多个时间点歌词文件的同步显示。三、下一阶段的研究方法或设计思路完善主播放窗体(实现自己定制的进度条控制)和播放列表窗体的功能,完善歌词同步显示功能,实现迷你模式播放,完成获取媒体文件信息、最小化系统托盘显示等功能,在时间允许的情况下进行相关功能拓展。整个设计思路类似快速原型法的工程实现,先实现基础功能,进而进行相关功能拓展,由最根本处底层实现向用户功能视角功能设计与实现。四、指导教师对学生设计(论文、创作)进展等方面的评语 该生基本能按计划进度完成任务,进度比较合理,自评内容与实际相符,实际的功能还存在一些问题,需要改进。 指导教师签字: 2007年 4月10日 河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023200姓名吴宏凯专业计算机科学与技术指导教师于静洋(讲师)综合得分85论文题目基于ActiveMovie组件的多媒体播放器的实现指导教师评语及得分指导教师评语 该生立题有新意,设计功能比较完善,论文重点突出,语句流畅,思路清晰,能够明确表达系统的功能,内容与设计相符,符合要求。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分118885085指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语 该生立题有新意,设计功能较完善,论文重点突出,语句流畅,思路清晰,能明确表达系统的功能,内容与设计相符,符合要求。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分128885086评阅教师签名 2007年5月22日河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023200姓名吴宏凯所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语 该生思路清晰敏捷,语言流畅,对问题的阐述清晰明了,回答正确,达到本科毕业水平。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分112216 3685答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 85 分综合评定等级:良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目基于ActiveMovie组件的多媒体播放器的实现姓 名吴宏凯所学专业计算机科学与技术学 号03023200完成时间.2007年5 月20日指导教师姓名职称于静洋(讲师)承诺内容:1、本毕业论文(设计、创作)是学生 吴宏凯 在导师 于静洋 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年5月20日 2007年5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1 多媒体的定义11.2 多媒体技术的发展现状2第2章 开发环境和相关技术介绍32.1 系统开发环境32.2 相关开发技术3第3章 系统需求分析53.1 系统界面需求53.2 系统功能需求5第4章 系统概要设计74.1 系统整体结构74.2 系统功能流程8第5章 系统详细设计与编码实现95.1 接口模块区95.1.1 Windows API模块95.1.2 基本播放处理模块125.2 功能窗体区155.2.1 主播放窗体155.2.2 媒体列表窗体185.2.3 歌词显示窗体19结 论21参考文献22摘 要多媒体技术是当今信息技术领域发展最快、最活跃的技术,是当前人们关注的热点技术之一,是新一代电子技术发展和竞争的焦点。与多媒体技术发展密切相关的就是多媒体播放平台,它是多媒体技术的一个重要的分支,是人们畅游媒体信息世界的主要渠道。本文实现了一个基于ActiveMovie组件的多媒体播放器。主要实现的功能包括:支持目前多数格式的媒体文件,基本的播放控制功能,支持多媒体播放列表,同步歌词显示,曲目信息显示等。该系统是在Visual Studio 6.0开发平台上开发的,是基于Visual Basic语言编写的。关键词 多媒体技术,播放平台,组件,接口函数ABSTRACTMultimedia technology is the fastest-growing and the most active technology in the field of information technology. It is one of the hot technologies which people concern and is also the focus of the new generation of electronic technology development and competition. Multimedia player which is closely related to the multimedia technology development is an important branch of the multimedia technology and the main channels in which people enjoy the media information.In this paper, a multimedia player based on ActiveMovie components is implemented. The main implemented functions of the multimedia player are: lots of multimedia file types, fundamental playing control functions, multimedia playing list, synchronic showing lyric, song information showing, etc.The development is based on Visual Studio 6.0 platform. The language is Visual Basic.Keywords Multimedia Technology,Broadcast platform,Components,API第1章 绪论多媒体技术的快速发展使人们再次领略到计算机技术的巨大魅力,它大大地拓展了计算机的应用领域,使计算机从办公室、实验室等狭小的领域空间走向平民大众,成为信息社会的普通应用工具,广泛地充斥着社会生产生活的每一个角落。在这一进程中,多媒体播放平台功不可没,借助高速发展的互联网络,各式各样的媒体播放器将多媒体的概念带进了人们的感官世界,潜移默化的影响着人们的生产和生活。1.1 多媒体的定义多媒体是融合两种或者两种以上媒体的一种人-机交互式信息交流和传播媒体,使用的媒体包括文字、图形、图像、声音、动画和电视图像等。它是一门综合技术,所以又称之为多媒体技术。多媒体技术的概念起源于20世纪80年代初期,真正的发展是在90年代。多媒体是在计算机技术、通讯网络技术、大众传媒技术等现代信息技术不断进步的条件下,由多个学科不断融合,相互促进而产生出来的,它是信息技术应用发展的必然。进入90年代,由于“信息高速公路”计划的兴起、互联网络的广泛应用,大大刺激了多媒体信息产业的发展,在全球掀起一股家电行业、有线电视网络、娱乐行业、计算机工业及通讯行业相互兼并、联合组网的浪潮,人们开始步入真正的“多媒体时代”。相关行业的大规模兼并联合,大造了新一代的信息领域,产生了崭新的信息社会概念,同时也创造了无穷的机遇和潜在的巨大的市场空间。之后伴随着计算机网络、数字电视技术和通讯技术的快速发展,信息技术领域中的多媒体技术成为新一代电子技术发展和竞争的聚焦点。1.2 多媒体技术的发展现状多媒体技术的交互性向用户提供更加有效的控制和使用信息的手段。而多媒体播放平台则是交互这一特性实现的一种重要的途径。播放平台是多媒体技术应用的重要部分,是多媒体技术的展示舞台,是人们走进多媒体世界的主要桥梁。各式各样的媒体播放器将人们与多媒体联系的日益紧密,使多媒体技术真正地走向大众化。伴随着多媒体技术的快速发展,各式各样的多媒体播放器也应运而生。现存的主流播放器大致可以分为两大类视频播放器和音频播放器。这里是从用户的使用习惯去划分的,实际上很多播放器都可以支持大多的媒体格式,它们不仅仅支持音频的播放、还支持视频的播放。但因设计的侧重点不同,用户对它们使用的也存在差异,比如说TTPlayer可用来进行音频播放,它以其小巧方便、外观漂亮等特点成为很多用户播放音频的不二之选,它同样支持视频的处理,但却没有图像显示,这里可以看得出开发者对它的设计定位;MPC(Media Player Classic)常被用来播放视频,它几乎支持所有的媒体格式,播放视频尤为快捷方便,因此成为很多用户播放视频的首选,但却很少被用来播放音频。这就是播放器设计定位的不同对用户使用习惯的影响,也是用户不同使用需求的必然所致。本播放系统的开发正是基于以上的考虑和分析去进行的,力图在音频播放和视频播放上都去竭力满足用户使用的需求,力求兼顾当前主流播放器在音频播放和视频播放方面的各自优点,力保在使用上去迎合用户的习惯。第2章 开发环境和相关技术介绍系统的开发离不开对开发环境的了解和对相应开发技术的学习,开发环境是实现系统开发的前提,开发技术则是实现系统功能的根本。下面将分两节介绍本系统的开发环境和主要的开发技术。2.1 系统开发环境本系统是在Microsoft Windows NT操作系统上采用VB6.0开发平台进行开发的,使用的语言是Visual Basic(以下简称VB)。之所以采用VB6.0开发平台,主要是考虑该平台开发应用程序的便捷性、高效性。VB6.0强大的图形图象处理技术、文件处理技术、多媒体处理技术、SDI和MDI等窗体编程技巧、方便的Windows API函数使用,使它成为开发Windows应用程序的主要选择之一。VB6.0开发平台是Microsoft公司推出的可视化开发工具,利用VB6.0可以开发基于Windows平台的应用程序,依靠强大的编译器及网络与数据库的开发能力,用VB6.0可以开发出功能强大的应用程序。VB继承了Basic语言的简单、高效、代码结构清晰、可读性好、并且容入了面向对象、可视化、事件驱动等软件开发技术,使Basic语言编程发展到了一个新的高度。VB6.0以其简单易用、功能强大、开发效率高的显著特点,得到众多程序员的青睐,在众多开发平台中占据着重要的地位。2.2 相关开发技术本系统的核心功能是基于Quartz.dll、Msxml3.dll等Windows系统组件实现的。在WindowsSystem32下可找到一个动态链接库Quartz.dll,这是Windows中提供的用于控制运动图像播放的一个类型库,只要在VB的“工程->引用”菜单中将它添加“ActiveMovie Control Type Library”即可。该库中定义了IBasicAudio,IBasicVideo和IBasicVideo2,IMediaEvent,IMediaEventEx和IMediaPosition等类。可在相关控件的Click等事件中添加代码设置和Audio的相关值,设置或读取Video的输入输出源的相关参数;可以直接调用无参函数Run、Pause、Stop的控制播放事件进程;利用IMediaPosition类对具体播放细节进行操作。XML可扩展标记语言(Extensible Markup language)万维网协会(W3C)推荐的一个开放标准,它是构造Web上的文档和数据通用格式。XML在Windows项目开发中有着举足轻重的重要地位,主要是用来存储项目关键的信息,类似于数据库系统,但是从应用来讲确是更加的灵活、方便。VB中操作XML文档,必须要导入WindowsSystem32下的动态链接库Msxml3.dll,该系统组件主要提供XML文档的操作和使用接口。如何添加引用动态链接库如图2-1所示。图2-1 添加系统引用示例图XML文档最主要的操作是对文档节点的操作。读取操作是最基本、最常用的操作,通常是声明一个DOMDocument对象,然后通过Lode函数加载的相应XML文档,再由DOMDocument对象获取文档根节点,再通过根节点去获取其子节点,由子节点获取其节点值或属性值,整个读取过程就是树的遍历,可以根据不同的需要采用不同的遍历方式。 第3章 系统需求分析需求分析是对用户需求的真正明确,是对要解决的问题的全面理解,它是界于系统分析和软件设计阶段的重要桥梁。本章将从界面和功能两个方面的需求来进行分析。3.1 系统界面需求随着多媒体播放软件的发展,用户对播放软件界面提出了更高的要求。用户对界面的需求不仅仅再局限于简洁、易操作等特点,还更加倾向于美观、人性化、个性化等要求。本系统基于以上需求做出以下分析: 1、能够多窗口显示,用户可以根据自己的需要关闭不使用的窗口,这样可以有效地节省界面空间,从而使界面显得小巧玲珑、简洁、美观。2、能够更换界面风格,用户可以根据自己的习惯更换个性化的界面风格,从而使界面显示风格多样化,更能满足不同用户的需要。3、能够变换显示模式,显示模式包括普通显示、迷你显示、最小化显示。普通显示是正常的显示状态,迷你显示更小巧简洁的显示,最小化显示是系统任务栏显示。3.2 系统功能需求依据当前的多媒体播放的主流需求,本系统首先要考虑以下基本功能需求:1、首先能够播放当前的大多数格式的媒体文件,主要包括MP3、WMA、AVI、MEPG、RMVB等格式文件。2、能够进行基本的播放控制,播放控制包括“进度控制”、“音量控制”、“播放状态控制”(静音、暂停、停止)、“曲目选择”、“更改播放模式”(包括单曲播放、单曲循环、顺序播放、循环播放、随机播放五种模式)等基本操作。3、要支持媒体列表的播放,能够进行基本的列表操作,包括“新建列表”、“删除列表”、“重命名列表”、“添加媒体文件至列表”、“从列表删除媒体文件”等操作,能够显示所有播放列表,能够显示当前选中列表的所有媒体文件。4、能够进行同步歌词显示,主要是音频文件歌词的同步显示。同步显示主要指歌词显示内容与音频播放进度保持同步。5、能够进行曲目信息显示,主要是MP3格式文件的曲目信息显示,通常包括歌手名、专辑名、发行时间等常用信息。第4章 系统概要设计概要设计是将系统需求转换为未来系统的设计,本章着重讲述了系统整体结构和功能流程设计。4.1 系统整体结构基于以上的需求分析可以将本播放系统大致分为五大功能区:功能窗体区、接口模块区、歌词资源区、播放列表区、皮肤文件区。系统结构示例图如图4-1所示。图4-1 系统结构图功能窗体区:存放所有的功能窗体,系统基本信息文件。接口模块区:存放Windows API接口成员,用户自定义接口成员,系统全局变量。歌词资源区:存放所有歌词文件。播放列表区:存放所有歌曲列表。皮肤文件区:存放所有窗体皮肤文件。功能窗体区是系统的核心,接口模块区是系统的底层,其他三块都可视为资源区,功能窗体区和接口模块区对资源去进行使用,从而实现更加完善的功能。功能窗体区主要是各个窗体具体功能的实现,接口模块区主要是公共功能的实现,功能窗体区通过调用接口模块区所提供的公共接口来实现相应的功能。功能窗体区是系统资源的主要调用者,是用户直接面向的区域模块,位于系统最上层。4.2 系统功能流程根据前阶段的需求分析和系统结构设计来进行系统功能流程的分析。系统总体功能流程为:启动播放器,加载基本状态信息,然后用加载的信息进行初始化设置,进行文件播放,播放过程中用户可以进行各种窗体操作,用户使用结束,执行关闭系统操作,系统退出前进行当前播放基本状态信息保存,保存成功后正常退出系统。图4-2 系统流程图系统总体功能流程如图4-2所示。加载基本状态信息:系统读取皮肤文件和系统配置文件,然后将读取的信息提交系统设置模块,设置模块再进行相关初始化设置。具体操作如图4-3所示。初始化设置:使用加载的信息设置系统皮肤、设置系统基本状态信息。设置皮肤是用读取的皮肤文件信息来设置窗体和窗体元素的图片、坐标位置。设置基本状态信息包括窗体显示设置(包括播放列表和歌词显示窗体)、播放列表设置(设置所要播放的播放列表)、播放文件设置(设置所要播放的播放文件)、播放音量设置、播放模式设置(普通模式、迷你模式、最小化模式)、静音状态设置。主窗体操作:包括播放系统的所有操作,包括播放控制操作、显示模式操作、皮肤选择操作等。图4-3 加载系统基本状态信息数据流图第5章 系统详细设计与编码实现依据以上章节的需求分析和概要设计我们了解到系统包含五大模块。各种功能的实现都是基于这五个模块的,所以本章节主要通过系统的这几个功能模块来介绍系统的详细设计及编码实现,其中功能窗体区和接口模块区是描述的重点。5.1 接口模块区接口模块是整个多媒体播放系统的基础,它提供了公共功能实现的主要程序接口。系统又把该模块细分为两个子模块Windows API模块和基本播放处理模块。 5.1.1 Windows API模块该子模块用来声明系统所要使用的Windows API函数,声明之后系统就可以直接使用。下面介绍一下本系统所使用的部分API函数和使用他们的设计考虑:1、窗体默认情况下是以矩形显示的,为了使窗体显示更加新颖、美观,可以使用系统提供的接口函数对窗体进行切割处理,从而显示出设计者或用户所追求的种种效果。本系统将把所有主要显示窗体统一切割为圆角矩形,主要使用的是CreateRoundRectRgn函数。下面是相关函数的介绍和使用。Function CreateRoundRectRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long该函数主要功能:用来创建一个圆角矩形,该矩形由(X1,Y1)-(X2,Y2)确定,(X3,Y3)用来确定的椭圆描述圆角弧度。返回值类型也为long,执行成功则为区域句柄,失败则为零。Function SetWindowRgn Lib "user32" (ByVal hwnd As Long,ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long该函数主要功能:允许您改变窗口的区域。通常所有窗口都是矩形的,窗口一旦存在就含有一个矩形区域。本函数允许您放弃该区域。这意味着您可以创建圆的、星形的窗口,也可以将它分为两个或许多部分,实际上可以是任何的形状。Hwnd:要设置区域的窗口;hRgn:将要设置的区域句柄,一旦设置了该区域,就不能使用或修改该区域句柄,也不要删除它;bRedraw:若为TRUE,则立即重画窗口。SetWindowRgn可与CreateEllipticRgn、CreateRoundRectRgn函数结合使用,用来进行窗体切割,使窗体只显示创建区域部分的内容,具体主要操作如下:HRgn_Lng = CreateRoundRectRgn(x1, y1, X2, Y2, radius, radius)/设置窗口区域SetWindowRgn formName.hwnd, HRgn_Lng, True窗体切割前后效果对比如图4-1和图4-2所示。图5-1 媒体列表窗体切割前效果图 图5-2 媒体列表窗体切割后效果图2、为了方便用户使用,要求点击窗体任何“不触发事件”的区域实现窗体随鼠标拖动。要实现此种操作,就必须时时向窗体发送消息,从而实现窗体移动。这里就需要使用SendMessage函数。为窗体注册鼠标单击触发事件,在触发函数中向窗体发送消息。Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long该函数主要功能:该函数将指定的消息发送到一个或多个窗口,为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。hWnd:将接收消息的窗口句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。返回值指定消息处理的结果,依赖于所发送的消息。wMsg:指定被发送的消息。wParam:指定附加的消息指定信息。IParam:指定附加的消息指定信息。本系统用此函数来实现用鼠标拖动窗体,详细实现如下:Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2/设置消息常量值SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& /Me指本窗体3、应用程序最常用的基本操作之一就包括最小化系统托盘显示,单击最小化按扭,系统图标将出现在系统托盘区域,双击托盘中的图标,系统还原显示。此功能的实现主要用到Shell_NotifyIcon函数,最小化时,系统主窗体隐藏,托盘区域添加该系统图标;双击系统图标,主窗体显示,通知托盘删除该系统图标。Function Shell_NotifyIcon Lib "shell32.dll" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long该函数主要功能:用来添加、删除、更改系统托盘区(taskbar status area)的图标。dwMessage:为消息设置值,它可以是以下的常数值:0、1、2;NIM_ADD = 0 /加入图标到系统状态栏中NIM_MODIFY = 1 /修改系统状态栏中的图标NIM_DELETE = 2 /删除系统状态栏中的图标LpData:用以传入NOTIFYICONDATA数据结构变量,其结构如下所示:Type NOTIFYICONDATA cbSize As Long /需填入NOTIFYICONDATA数据结构的长度 HWnd As Long /设置成窗口的句柄 Uid As Long /为图标所设置的ID值 UFlags As Long /设置uCallbackMessage,hIcon,szTip是否有效 UCallbackMessage As Long /消息编号 HIcon As Long /显示在状态栏上的图标 SzTip As String * 64/提示信息End Type5.1.2 基本播放处理模块该模块主要是用户自定义的接口成员,是基层的功能函数接口,供上层模块使用。下面介绍本系统主要的函数接口:1、窗体没有修饰将会十分难看,现在常用的操作是窗体加上一层皮肤。对窗体来说,皮肤就是皮肤文件,它由一组图片和包含图片信息的XML文件组成。加载皮肤就是通过读取皮肤XML文件来设置窗体元素的图片属性。其核心处理就是读取皮肤XML文件,loadXmlSkin为该处理的关键函数。Function loadXmlSkin(strSkin As String) Global root As IXMLDOMElement加载皮肤文件接口,供上层窗体绑定窗体皮肤元素,主要是对XML的操作,参数为皮肤文件路径;root是全局变量,存储XML根接点对象,实现如下:Set skinXml = New DOMDocumentCall skinXml.Load(“皮肤文件路径”)Set root = skinXml.documentElement/获取根接点对象,使用根接点可遍历所有接点。2、播放器启动后,需要加载系统的基本状态。这对于用户来说是一个很实用的操作,用户有用户的使用习惯,每次关闭系统,系统都将保存本次播放的状态信息(当前播放的列表、曲目、播放模式、显示模式、显示状态等等),下次启动系统自动加载上次的状态信息,这是一个较为人性化的设计。状态信息存储在系统设置XML文件里面,通过loadPlayerSettings函数进行读取。Public Sub loadPlayerSettings

    注意事项

    本文(基于ActiveMovie组件的多媒体播放器的实现.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开