《《基于安卓影音播放器设计》说明书.docx》由会员分享,可在线阅读,更多相关《《基于安卓影音播放器设计》说明书.docx(43页珍藏版)》请在优知文库上搜索。
1、1前言1.1 设计的意义进入21世纪以来,社会匕速地进入到了信息时代。而信息时代最明显的特征就是信息传递加快,信息体氏巨增,高新技术越来越走近人们的生活,不仅仅是以帮助人们工作的iR要工具,而且也起先在人们的消遣、休闲中越来越得到全觇。2005年以后,智能移动的小型便携设备,起先在市场上得到人们重视,随若其性能的增加,大规模集成电路的集成,成本也下降很快。人们起先采纳这些设备,来满意自己的精神生活需求。比如人们现在越来越喜爱用手机或平板,随时随地地观看影视、观赏音乐、上网、闲聊等等。而观赏音乐、观看影视也成为人们更多的休闲选择。而作为通讯工具的手机同时也是具备消遣功能的,比起PC机、MP3播放
2、器而言,手机具有更加便利的优势,绝大部分的人都会在空余时间点开手机上的消道程序进行放松的.Android手机开发的平台的崛起,让手机应用程序的的开发进入了更加开放的格局,让更多的程序开发人员加入了手机应用程序的开发。Android也是现在最火热的手机软件开发平台之一.当今生活中,基本上每一个人都会拥有自己的一部手机了,而且现在的智能手机上的功能都可以比拟掌上电脑了,无论是办公软件,亦或是消遣软件都可以在手机上运行。所以,开发手机的应用程序是相当有市场前景的。我的多媒体播放器是依据人们日常生活对精神生活的追求,而设计的一款手机综合类多媒体播放软件,在学业、工作压力越来越大的今日,可以缓解我们学习
3、、工作上的压力,只有良好的精神状态才能够更加好的面对自己的学业和工作,用一款操作简洁、同时又具有音乐与播放器功能同时也能感受到丰富多彩的精神生活。为人们的生活注入一道活力药剂,为的是让大家能以轻松的心态更加好的完成学业和工作。1.2 国内外探讨现状手机播放,始终是探讨的热门领域,也是手机的基础功能,因为它能直观地向人们展视技术的优良性,能充分满意人们感观上音乐、视觉以及由此产生的愉悦感,所以国内外探讨者从个人至团队、从民间到政府都能看到进行手机播放器开发的项目。GoogleAndorid团队在Android系统内置了播放渊功能,它的音乐可以作为服务,隐身;后台,同时还供应大址的限制行为接口,使
4、得其它播放器可以调用这个服务,很便利地开发出更多更丰富的播放器。由美国公司开发的PoWerNlP堪称Android系统中用户体验最佳的音乐播放器,支持Android2.O以上RoM,界面美观,音痂出众,它的功能特别丰宦,囊括了常见的MP3、MP4,/M4A,无损A1.AC/F1.AC/APE、OGG、WAV,TTA.WMA、WV这些音乐格式。它运用自建解码器,因带来来可调控性的性能优化。国内开发团队和个人,也在呈现各自的才华,纷纷在移动设备上开发播放器软件.作为当前在Android设备上运行是广泛的一款播放器,MOboPIayer获得了良好的评价。它是四叶草(济南)信息技术有限公司开发的运行在
5、移动设备上,为音频和视频供应商侦量回放的播放软件。它可以让你在移动设备上播放几乎全部的多媒体格式,将你的数字生活体验提升到新的境界“目前MoboPlayer可以运行在几乎全部的Android设备上,凭借专为移动设备优化的播放核心以及高度优化的FFmpeg解码器,MobOPlayer使得原本只能在PC上播放的多媒体文件现在同样可以在手机中流畅播放“除/进一步优化播放核心外,HoboPlayer还若亚增加了媒体库功能,更加强大易用,同时大幅扩展了播放界面中的操作方式,双击智停、上卜滑动调整音量和亮度、左右滑动跳转以及屏幕锁定功能,让你能完备享受观赏视频带来的乐趣.通观国内外对播放器发布的整个进度,
6、发觉这些软件一起先推出时不尽如人意,甚至是荷陋的,但它们的开发者都通过不停地升级,使得软件逐步成长,起先占据市场,升级速度一般每周都供应大大小小的升级二至三次。推出原型系统,然后不停地升级它,逐步完善其功能,也是软件工程领域中灵敏开发的一个原则.从以上可以看出,一款播放器的胜利,往往都须要设计者以用户需求为最终目的,操作上的便利性往往更易于应用的全面推广。13本文探讨的内容本文主要是探讨在Android2.2SDK完成以卜任务:1、依据系统需求,进行技术可行性分析:2、依据收集的资料进行多媒体播放开发的难点整理与探讨:3、进行的软件的用户友好界面的设计:4、播放器的界面设计与编码:5, Act
7、ivity自由切换;6、音乐播放的进度限制问题;7、视频播放线程限制问题。在这些任务中,主要存在以下难点须要解决:1、Android程序设计步骤;2、如何实现对多媒体文件的获得;3、怎么实现时音乐的调控:4、tabhosi的建立与运用:5,视频的播放实力。1.4章节支配第一章:设计的意义和国内外探讨现状,以及本文须要实现的目标和难点。其次章:系统的介绍以及难点的分析:主要介绍探讨程序设计步骤、AndrOid对多媒体数据管理的方式、音乐与视频功能的测试。第三率:系统分析:主要是探讨本软件用户的需求、播放器的主要功能、实体间的关系。第四章:系统实现:具体实现了本文的任芬,完成了开发播放器编码阶段的
8、全部过程。第五章:测试与实施:对开发的系统进行测试,满意用户的需求后进入实施阶段。第六堂:总结与展望。2系统的介绍及难点的分析2.1 Android系统介绍Android是由google公司推出的一种智能操作系统,它是在IinUX基础上进行开发的,具有以下优秀的特点:1、应用程序框架:支持组建的重用与替换:2、DalVik虚拟机:特地为移动设备做了优化:3、内部桀成阅读器:该阅读器基于开源的WebKit引擎:4、优化的图形库:包括2D和3D图形库,3D图形库基于OpenG1.ES1.0(硬件加速可选:5、SQ1.ite:用作结构化的数据存储:6、多媒体支持:包括常见的音频、视筑和抑态印象文件格
9、式(如MPEG4,H.264,MP3,.WC1AMR,JPG,PNG,GIF);7,丰富的开发环境:包括设备模拟器,调试工具,内存及性能分析图表,和ECliPSe集成开发环境插件。Android的系统架构如图2-1所示:AppuicationbHomtConocttPhcrwBcowtetApplicationFramcwork1.iaRARICBArsiOROiDRuntimkSXeCorvUbrartMMoc*oonMsEOPenQjESFrlypVKSUHKeMafUterSSlSGl1.lZUXKerneuKeypadOwtrGmeraOwtrAuoDnvertWiFiOwer图2-1
10、Andrcid系统架构现在,AndrOid系统已经发展到4.4,但大部分程序开发者还运用在稳定性好的SDK2.2上进行程序开发。Android应用基于JaVa,支持SQ1.,由于底层是1.inUX所以底层支持C/C+。目前有两种编程:一是基于DT的JAVA编程,官方举荐用JDK+EC1.IPSE+ADT+DK(WINDOWS)开发环境,二是基于NDK的C编程。APK是AndroidPackage的缩写,即AndrOid安装包(anapk)。.APK是类似SymbianSis或Sisx的文件格式。通过将APK文件干脆传到AndrOid模拟器或Android手机中执行即可安装。APK文件和sis一
11、样最终把androidsdk编译的工程打包成一个安装程序文件格式为apk,APK文件其实是ZiP格式,但后缀名被修改为apk,通过UnZiP解压后,可以看到DeX文件,Dex是DalVikVMexecutes的全称,即AndrOidDalvik执行程序,并非JaVaME的字节码而是DalVik字节码。开发人员也可以完全访问核心应用程序所运用的APl框架。该应用程序的架构设计简化了组件的重用:任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以运用共所发布的功能块(不过得遵循框架的平安性限制)。同样,该应用程序重用机制也运用户可以便利的替换程序组件。隐藏在每个应用后面的是一系列的服务
12、和系统,其中包括:I、丰富而又可扩展的视图(VieWS),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的Web阅读器.2,内容供应器(ConlentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。3、资源管理潜(ResourceManager)供应非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles),4、通知管理器(NotificatiOnManager)使得应用程序可以在状态栏中显示自定义的提示信息。5,活动管理器(Activi
13、tyManager)用来管理应用程序生命周期并供应常用的导航回退功能。2.2 android多媒体开发的基本框架2.2.1 框架探讨从上节的Android的系统框架图上可以看出,八ndroid的多媒体框架UlediaFraineWOrk)处于1.ibrariCS这一层,这层的1.ibrarary不是JaVa实现,大量:运用C/C+代码,通过JaVa的INl文件调用,这是因为多媒体文件须要快速的运算实力。MediaFramework这个架构,是基于第三方PacketVideo公司的OpcnCOREplatform来实现的,它支持全部通用的音减、视频及静态图像格式。其核心是OpenCore,全部A
14、ndroid平台的音视频采集、播放的操作都是通过它来实现。由此,通过OPenCOre,可以文件快速地开发出想要的多媒体应用程序,例如如:音视频的采集、回放、视频会议、实时的流媒体播放等应用。以开源ndroil的代码为例,OpenCore的代码在以下书目中:externaIZopencore/:这是OpenCore的根书目,包含的子书目如卜所示:android:这里面是一个上层的库,它基FPVPlayer和PVAuthor的SDK实现了一个为Android运用的Player和AUlhOr:baselibs:包含数据结构和线程平安等内容的底层库:codccs,v2:这是个内容较多的库,主要包含编解
15、码的实现,以及个OPCnMAX的实现:engines:包含PVPIayer和PVAuthor引擎的实现:extern1ibsv2:包含了khronos的OPenMAX的头文件;fileformats:文件格式的解析(ParSer)工具:nodes:供应一些PVMF的NODE,主要是编解码和文件解析方面的:oscl:操作系统兼容库:pvmi:输入输出限制的抽象接口:protocols:主要是与网络相关的RTSP、RTP、HTTP等协议的相关内容;pvconmon:pvcommon库文件的Android,mk文件,没有源文件:pvplayer:PVPIayer库文件的AndrOid.mk文件,没有源文件:PYaUlhor:PVaUIhor库文件的Android.mk文件,没有源文件;tools_v2:编译工具以及一些可注册的模块。在CXternal/oPenCore/书目中还有2个文件,如下所示:Android,mk:全局的编译文件;pvplayer.conf:配置文件。在external/OPCnCore/的各个了文件夹中包含了众多的Android,mk文件,它们之间还存在若“递归”的关系1例如根书目下的AndrOid.mk,就包含了如下的内容片断:includeS(PV_TOP)pvcommonAndr