毕业答辩-Linux电影播放器设计与实现.pptx_第1页
毕业答辩-Linux电影播放器设计与实现.pptx_第2页
毕业答辩-Linux电影播放器设计与实现.pptx_第3页
毕业答辩-Linux电影播放器设计与实现.pptx_第4页
毕业答辩-Linux电影播放器设计与实现.pptx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux下电影播放器的设计与实现,软件工程1017班基地指导老师:校内指导老师:,目录,P2,第一章、绪论:介绍电影播放器的发展前景第二章、开发平台与开发工具的选择第三章、界面及各功能的设计与实现第四章、各个功能的实现第五章、软件测试总结致谢,绪论,P3,一、研究背景现如今随着计算机在各个领域的广泛应用,越来越多的嵌入式设备功能强大,价格实惠的嵌入式Linux作为操作系统并开始采用较为复杂的图形界面。Qt以其强大的功能,良好的可移植性逐渐成为一种被广泛使用的GUI系统。由于嵌入式操作系统及相应图形界面的不断发展,嵌入式软件的开发才至关重要。其中嵌入式视频播放器由于能满足人们视听享受已成为热门,因此基于Qt的嵌入式系统中实现视频播放器具有深刻的意义和价值。,绪论,P4,二、设计要完成的工作:本文将设计并实现一款界面清楚明了,操作简单,支持多种格式媒体。本播放器的主要功能是播放一些常见的视频的格式文件,在功能上达到简单易行,消耗资源少。主要实现的功能:文件控制(主要用于添加播放文件);播放控制(控制视频的播放状态)。声音控制(调整音量的大小);显示控制(若播放的是视频文件应当显示图像,可以进行按比例播放或者全屏)。,设计,P5,首先用户通过图形界面输入要播放的文件,然后调用音频解码器,最后将解码后的数据通过帧缓冲输出到输出设备上。整个播放的过程主要由输入、解码、输出这三个部分组成。从功能上,它们各自所执行的功能是互相独立的;从另一方面来看,他们又是相互紧密联系的,音频视频所需要数据源于输入的文件,而输出到设备上的数据源又源于音频视频解码后获得的数据,在这里需要一个专门的模块负责,即插件接口模块。所以,一个播放器除了图形界面,可以分成四个模块:输入模块,输出模块、插件模块和解码器模块。可以将音频视频的解码程序以插件的形式封装在解码器模块中,对不同格式的媒体文件可以使用解码器模块中封装的对应的解码器插件。同时,为了调用的方便,可以在插件接口模块和解码器模块之间采用一套统一的解码器封装接口。,输入模块,P6,输入模块主要是响应用户通过图形界面发出的文件打开命令,它将获得待播放文件的文件路径和文件名。在此之后,它将首先判断文件的路径是否合法,文件是否为空,如果文件路径不合发或文件为空,输入模块将退出执行,其他模块和界面将没有变化。如果文件路径合法同时文件不为空,它将开始对播放进行初始化,初始化结束后它将向插件接口模块发出信号,通过其查找该文件的可用解码器,为文件解码做好准备。,插件接口模块和解码库模块,P7,插件接口模块通过输出文件的扩展名和文件的头部信息来判断该输入文件是否被播放器所支持;对解码模块种的所有解码器进行注册;能够获取播放文件的信息。能够停止播放文件,并做出相应的处理;能够调用解码器对音频采样数据进行读取,能够调用解码器对视频帧进行读取等。插件接口调用主要是把所有对解码器的操作整合到一个统一的开放式接口当中,根据上一部分解析出的文件信息区查找相应的解码器插件并调用,如果没有找到可用的解码器可以返回信息提醒用户添加相应的插件。通过实现这样的接口可以使播放器的扩展性大大提高,因此本部分是播放器的核心。解码库模块的主要作用是对音频和视频的已压缩数据进行解码。解码库又含解码器和分离器。解码器就是对音频视频数据流进行解码的组件,分离器就是把文件流中的数据分离为音频视频数据流的组件,音频数据和视频数据是分开解码的,二者缺一不可。该模块采用统一的接口将所有解码器的程序进行封装,也采用动态加载的方式实现各自数据的解码。,输出模块,P8,视频输出的主要步骤:1根据屏幕尺寸创建两个对象,一个用于存放当前帧,一个用于旋转帧;2检查解码以后的视频数据是否已经准备就绪;3判断当前帧是否可见,若不可见直接等待可输出的下一帧;4获取视频画面的长和宽,以便来设置输出还的长宽比,如果文件画面尺寸比软件的画面大,程序会自动适应文件的画面尺寸,当用户选择全屏播放时,会按照比例把画面扩大至全屏,当然用户也可以用拖拽来自定义播放画面的大小。5把等待输出的区域上空清空,并且为创建的对象分配区域。6将准备好的帧发送到步骤5分配好的区域,以便输出到显示设备上。,界面设计,P9,本程序的主界面包括的窗口部件包口:菜单栏、Button按钮、进度条等。在界面的布局上采用了布局管理器方式,这种方式为窗口部件提供了有感知的默认值,可以随着窗口部件的大小变化,对子窗口部件的大小和位置做出适当的调整。所以布局管理器方式是对设计图形化用户界面、组织管理界面窗口部件的最好的方法。布局管理器方式主要由四种管理器:水平布局管理器(QHBoxLayout),按水平的方向组织管理窗口部件;垂直布局管理器(QVBoxLayout),按垂直方向管理窗口部件;网格布局管理器(QGridLayout),按二位网格方式组织管理窗口部件;站布局管理器(QStackedLayout),按照一种类似于栈的方式组织管理窗口部件,在某一时刻只有一种窗口部件是可见的。在本程序中界面的设计采用了基本的水平布局管理器和垂直布局管理器。,各功能的实现,P10,文件打开功能为了方便开发人员对一些特定功能的对话框进行编程,QT提供了一套标准的通用对话框,它可以限制用户只能打开已经存在的文件,也可以允许用户输入一个新的文件名,此外,过滤器的使用,给出来只能显示符合特殊标准的文件限制。在这里使用了两种打开文件的方法。选择一个或者多个文件及目录在本程序时经过动态链接库的形式调用软件解码器的。为此必须先加载动态链接库,然后当加载成功后,才调用相应的函数。在右侧文件目录处可显示所添加的文件名,双击可播放。,P11,选择上一个/下一个播放文件在本程序中可通过跳出一个对话框,手动输入时间点来播放文件,文件会跳转到该时间点继续播放。音量控制功能的实现在音量控制上,使用的是Phonon下的Volumesilder空间,通过单击右侧的声音可以实现静音的控制,再右边的slider空间可以完成声音大小的控制。播放速度控制在速度播放上可加倍播放,恢复播放速度手动输入1即可。,功能实现,P12,启动播放器,功能实现,P13,选择播放文件,功能实现,P14,播放、暂停功能,功能实现,P15,选择播放时间点功能:,P16,输入播放速度,测试,P17,软件测试软件测试主要分为以下几个方面:打开文件是否能正常播放;能否调节音量大小;画面和声音能否同步播放;改变播放速度时,声音和画面的同步率;能否选择时间点继续播放;能否进行多个文件间切换播放。在测试过程中,各个按钮实现了功能,完成预期目标,符合课题所要求的任务,这个项目基本成功。,软件测试,P18,(1)UI测试:播放界面按界面显示分可以分为普通播放界面和其他播放界面。通过程序启动主界面,测试主界面菜单栏及添加文件栏、button、图片是否正常显示。查看添加文件等弹出框是否能正常显示;播放文件是否能正常显示画面,能否正常显示时长等。(2)功能测试:功能测试主要分为以下几个方面:打开文件是否能正常播放;能否调节音量大小;画面和声音能否同步播放;改变播放速度时,声音和画面的同步率;能否选择时间点继续播放;能否进行多个文件间切换播放。所有播放操作相关的功能如:播放/暂停、停止、退出等按键进行测试是否能正常工作。,总结,P19,通过本文上述的工作,完成了课题操作系统,编程语言的选择、环境的搭建、及总体设计,软件设计,播放器界面功能的设计与开发,基本实现了跨平台性和可扩展性架构的设计。当然,本文中的视频播放器界面功能的设计与开发,基本实现了跨平台性和可扩展性架构的设计。当然,本文中的视频播放器也存在着许多不足和有待改进之处,比如视频播放器播放列表,使用记录的功能,快捷键有时会出现错误等。综上所述,本文中软件基本达到了预期的目标,对产品的跨平台性进行了相应的提高,同时对这次设计中的一些缺陷在今后的工作中还有待进一步的提高。通过此次毕业设计,我在老师的指导下,在同学的帮助下,我克服困难和阻碍,完成了这个毕业设计的目标和任务。但它也让我意识到自己的能力和技术方面的不足,使得我未来继续努力,继续提高自己各方面。这次毕业设计,体会到了开发的艰辛和无奈,也学会了如何求助手

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论