基于安卓Android平台的手机多媒体播放器的设计与实现.docx

上传人:b****3 文档编号:3748718 上传时间:2022-11-25 格式:DOCX 页数:37 大小:3.89MB
下载 相关 举报
基于安卓Android平台的手机多媒体播放器的设计与实现.docx_第1页
第1页 / 共37页
基于安卓Android平台的手机多媒体播放器的设计与实现.docx_第2页
第2页 / 共37页
基于安卓Android平台的手机多媒体播放器的设计与实现.docx_第3页
第3页 / 共37页
基于安卓Android平台的手机多媒体播放器的设计与实现.docx_第4页
第4页 / 共37页
基于安卓Android平台的手机多媒体播放器的设计与实现.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于安卓Android平台的手机多媒体播放器的设计与实现.docx

《基于安卓Android平台的手机多媒体播放器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于安卓Android平台的手机多媒体播放器的设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。

基于安卓Android平台的手机多媒体播放器的设计与实现.docx

基于安卓Android平台的手机多媒体播放器的设计与实现

基于安卓Android平台的手机多媒体播放器的设计与实现

摘要

随着人们生活节奏地加快,物质生活也越来越丰富了,然而许多人精神上的状态都是比较紧张的,偶尔听听歌曲,看看电影,欣赏图片也不失为一种好的舒缓压力的方式。

基于Android平台的手机多媒体播放器是开发一款可以播放主流音频和视频文件,查看图片的多媒体播放器,能够缓解人们在快节奏的生活中的紧张状态,改善人们的精神生活。

本文主要阐述在Android手机平台下实现视频、音乐播放和简单的新浪微博分享、图片浏览系统的可行性。

详细论证了系统的需求分析、概要设计、详细设计与实现、系统测试等相关过程。

通过Android中的MediaPlayer类解析和播放视频文件、音乐文,利用多线程加载图片文件来实现图片资源的加载和显示,详细介绍不同类型文件的解析和实现过程,同时可以连接互联网,在新浪微博发表简单的评论,分享当前的心情。

关键词:

Android平台;MediaPlayer;多线程;资源解析

 

Abstract

Withtheacceleratedrhythmoflife,moreandmorerichmateriallife,howevermanypeoplementalstatesarerelativelytight,andoccasionallylistentomusic,watchmovies,viewpicturesmaywellbeagoodrelievestressway.Androidbasedmobilephoneplatformisthedevelopmentofamultimediaplayerthatcanplaypopularaudioandvideofiles,viewpicturesofthemultimediaplayerthatcanrelievepeopleinthefast-pacedlifeinastateoftension,improvepeople'sspirituallife.

Thisarticlemainlydiscussestheimplementationofvideo,musicandsimpleWeibo,picturebrowsingfeasibilityofthesystemintheandroidmobileplatform.Italsodemonstratesindetailaboutthesystemneedsanalysis,outlinedesign,detaileddesignandimplementationandsystemtestingandotherrelevantprocedures.ThroughtheclassofparsingandplayvideofilesandmusicfilesintheMediaPlayerofandroid,wecanusemulti-threadedloadimagefiletoachievetheresourceloadanddisplayimagesandindetailintroducedifferenttypesoffileparsingandimplementationprocess.Meanwhile,itcanbeconnectedtotheInternetsothatwecanwriteasimplecommentandshareourcurrentmoodonSinaWeibo.

Keywords:

Androidplatform;MediaPlayer;multithreading;resourceanalysis

1绪论

现在移动开发市场上平台林立,各自圈地盘,Android手机平台也异军突起,甚至被誉为对抗iPhone最有实力的平台,而且预计未来将会超过iPhone独领风骚。

可以看出Android系统无疑已经成为时下全世界最热门的移动设备操作系统。

随着移动开发市场的不断发展,如何高效、准确地对手机中的多媒体资源的解析,日益成为Android手机开发平台领域研究的热点。

1.1背景简介

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

目前Android手机的多媒体播放功能已经是大家比较关注的一个部分了,不少在人在购买手机的时候都会关心手机的视频、音乐等多媒体播放功的能力和图片浏览能力,这也足以看出目前大家对多媒体播放功的重视,所以一款性能良好的手机多媒体播放器软件一定会受到欢迎。

而这其中实现视频、音乐播放、图片浏览的主要核心是Android中的MediaPlayer类和多线程等。

1.1.1MediaPlayer类

Android中的MediaPlayer类可以用来播放音频、视频和流媒体,Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。

MediaPlayer生命周期如图1.1所示。

 

图1.1MediaPlayer状态图

MediaPlayer类在播放之前要首先进入Prepared状态,有两种方法可以到达Prepared状态(异步方法和同步方法)。

一旦调用prepare()方法,MediaPlayer类就进入Prepared状态,调用prepareAsync()方法,直到处于休息状态内部播放组件完成准备工作之前类一直处于Preparing状态。

当准备工作完成或者调用prepare()时,内部播放组件会调用用户提供的回调方法:

OnPreparedListener接口的onPrepared()。

当调用start()方法成功后,MediaPlayer类进入Started状态。

当调用seekTo(int),就可以调整播放的位置。

此外,用getCurrentPosition(),方法可以获得当前的播放位置。

这个对应用很有帮助,例如音乐播放器需要跟踪播放进度的时候。

当播放到达数据流的末尾,播放就完成了。

如果循环模式设置了setLooping(ture),那么MediaPlayer类保持Started状态。

如果循环模式设置为false,播放组件就会调用OnCompletion.onCompletion(),前提是OnCompletionListener提前用setOnCompletionListener(OnCompletionListener)注册过,这时类进入PlaybackCompleted状态。

当进入PlaybackCompleted状态,调用start()方法,就会在音频和视频源的开头重新开始播放。

1.1.2多线程

线程是程序中一个单一的顺序控制流程。

在单个程序中同时运行多个线程完成不同的工作,称为多线程。

在Android中提供了一种异步回调机制Handler,使用它,可以在完成一个很长时间的任务后做出相应的通知。

在主线程中,使用handler很简单,new一个Handler对象实现其handleMessage方法,在handleMessage中提供收到消息后相应的处理方法即可。

然后再利用线程中调用sendEmptyMessage(int)来发送一个message对象。

然后再把Message对象交由Handler处理,执行UI更新的操作。

1.2设计目标

一般的手机多媒体文件有:

视频文件、音频文件、图片文件;在多媒体播放器中主要通过MediaPlayer类中的方法把视频文件或者音频文件进行解析并且以主流形式进行播放,而图片文件文件的加载通过多线程完成,并且进行相应的历史保存。

最后,用户可以通过新浪微博进行简单的微博分享。

1.2.1主要内容

该系统主要实现以下几个内容:

(1)通过MediaPlayer类中的方法把视频文件进行解析播放,并且把播放过的视频文件保存到数据库中;

(2)通过MediaPlayer类中的方法把音频文件进行解析播放,并且把播放过的音频文件保存到数据库中;

(3)通过多线程把手机SD卡中能浏览的图片加载成能查看的形式,支持缩放,并且把浏览过的图片保存到数据库中;

(4)调用新浪微博提供的接口,进行简单的微博分享;

(5)能可视化文件的形式把SD卡内的文件读取出来。

1.2.2设计要求

(1)工具采用Eclipse3.5ADT-15.0.0android--sdk--windows--r15开发;

(2)数据库采用SQLite;

(3)界面大方美观,给以用户相应的温馨提示。

1.3系统设计的意义

随着科技的进步,手机的功能也不断的得到丰富。

特别是在当今工作压力很大的社会,拥有一个集播放音频、视频文件,浏览图片和进行新浪微博分享等多功能Android手机多媒体播放器系统,在工作和学习之余放松下疲惫的精神状态是多么的重要。

因此,研究出Android手机多媒体播放器系统是一项重要而有意义的工作。

1.4系统设计工具和运行环境

软件设计工具和运行环境是开发软件的基础,以下主要介绍设计设计工具和该系统的运行环境。

1.4.1系统设计工具

本系统主要理由Eclipse3.5开发的。

Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。

2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。

2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版。

Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

1.4.2系统运行环境

操作系统:

Android手机基于Linux操作系统。

支持环境:

Android2.3.3版本。

2可行性分析

在软件的开发前,可行性分析是必不可少的阶段,其任务是明确应用项目的开发的可行性,而可行性则取决于实现应用系统的资源和条件。

在以下主要从技术可行性、经济可行性、操作可行性逐一分析。

2.1技术可行性

技术可行性是软件开发可行性分析的最重要的环节,以下主要从环境、语言、平台逐一分析开发多媒体播放器的可行性。

(1)Eclipse3.5集成环境

Eclipse是Java开发的一个集成开发环境,而且是一个开源项目。

Eclipse的扩展性非常强,它不仅可以作为Java的IDE使用,而且还可以开发大量的插件支持其他类型的语言,如C、C++、Python、PHP等。

同时支持与MySql和Oracle数据库连接。

在Android中可以利用手机的SQLiteDatabase数据库来存储数据。

(2)Java面向对象开发语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java由四方面组成:

Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。

(3)AndroidSDK

AndroidSDK指的是Android专属的软件开发工具包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

Android平台提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。

使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。

SharedPreferences是Android提供用来存储一些简单的配置信息的一种机制。

2.2经济可行性

经济可行性分析是开发该多媒体播放器一个重要过程,以下主要从开发成本、系统收益、生存周期去分析该系统的经济可行性。

2.2.1开发成本

从开发所需费用角度出发,本设计预计研发周期3个月,工作人员一名,硬件设施为普通个人电脑。

目前,大多数Android手机生产商具有硬件过硬的手机平台,该软件系统能适用于大多数Android手机,均在承受范围内。

2.2.2系统收益

从收益角度出发,本设计实现将众多繁杂的Android多媒体播放软件集合为一体,从而减少了安装众多Android多媒体播放软件所占的内存空间。

另外,此系统还可以与互联网连接,进行简单的微博分享,跟着时代的步伐,具有很强的通用性,将带来巨大的收益。

2.2.3生存周期

本设计具有非常高的收益投资比;投资回收周期短;系统投入使用后可根据今后Android手机的发展不断完善、改进,本系统将一直保存其使用价值,系统生存周期较长;另外,设备和软件配置的变化对其影响较小。

综上所述,本设计的研发在经济上可行。

2.3操作可行性

本设计采用Eclipse3.5作为集成开发环境,完全按照常规软件使用习惯制定菜单栏、状态栏、消息提醒机制,对于户使用操作简单易懂明了。

同时参考了当前热门的相关微博客户端的设计理念,拥有更好的用户友好性,因此在用户操作、人机交互、用户体验上是可行的。

3需求分析

需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。

一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很大的困难。

所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。

以下主要从用户需求和系统需求层面去分析该系统。

3.1用户需求

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。

针对以上各种弊端,选择了开发手机多媒体播放器,将各种性能优化,继承视频、音乐播放和图片浏览的常用功能,满足用户的需求。

此外,还能通过新浪微博分享对视频的评价。

3.2系统需求

根据对市场的研究,了解用户的总体需求后,本文分成四部分来概括用户的基本需求,即视频播放基本控制需求、播放列表管理需求、播放器设置需求、音乐播放需求、图片浏览需求和微博分享需求。

3.2.1视频播放基本控制需求

隐藏界面里的所有按键,可以通过监听一些用户操作来显示出来;一定时没有监听到用户操作,应隐藏起来,否则会影响用户观看视频。

在弹出的界面里面,有用于用户操作播放、暂停时的图标,在不同状态时图标不一样。

用户可以根据自己的喜好选择播放屏幕的比例,有如下比例:

全屏、16:

9、4:

3等。

用户也可以调节音量大小,视频播放进度,同时播放界面显示相应的播放信息。

隐藏界面提供用户用于快进、快退,上一曲、下一曲的按钮,方便用户根据自己的实际情况做出不同的选择的按钮。

支持断点播放,当第二次点击播放列表中的该视频时,可以继续从以前播放的位置开始播放,当有来电或者其他外界进入时,记录当前播放位置,以便下次进入时继续播放。

3.2.2视频播放列表管理需求

在播放列表界面,播放器为用户提供了自动搜索手机里面的视频文件的按钮,也提供了手动读取手机SD卡中视频文件的按钮,可以根据不同用户的不同需求。

还为用户提供了一键清除播放列表的按钮,方便用户清除视频列表。

在播放列表里面显示出视频文件名称、最近播放时间、播放进度。

当用户点击手动读取手机视频文件的按钮时,列出手机文件的多级目录,可以查找到可以播放的视频文件。

用户选择播放列表中的某一个视频时,弹出提示,用户可以选择播放或者删除当前的视频文件,用户点击播放后,直接进入播放界面,这样极大的节约了用户的时间。

3.2.3播放器设置需求

根据不同用户对播放器的播放需求不同,播放器提供设置界面,方便用户对播放器的设置,用户可以根据自己的习惯设置播放器。

在设置界面,可以设置播放模式:

单曲模式、随机模式、顺序模式。

单曲模式是方便用户继续欣赏当前自己喜欢的视频,随机模式可以随机读取数据库中存放的视频文件,顺序模式是按照播放列表中的视频文件顺序播放。

用户除了在播放界面设置音量大小,播放屏幕比例,在设置界面也可以设置相应选项。

还可以根据不同用户对设置界面的背景风格的需求,设置背景风格。

3.2.4音乐播放需求

当用户点击音乐播放时,首先看到的是音乐历史列表。

用户可以清除所有的记录,也可以点击进行播放,还可以手动添加音频文件。

当用户点击进入播放界面后,看到当前音频文件的信息,播放的进度。

开始播放后,用户可以根据自己的需求选择快进、快退、上一曲、下一曲,调节音量大小,播放的进度。

根据用户的不同需求,还可以设置播放模式:

单曲模式、随机模式、顺序模式。

如果历史列表没有播放过的音乐信息,在播放界面提供扫描SD卡的功能,能自动扫描出能够播放的音频文件。

随着时代的前进,定时播放成为一个热点,因此,在播放界面提供了定时播放的功能,有两种选择方式可以供用户选择:

按时间定时和按歌曲定时播放,当定时完成后自动关闭程序。

3.2.5图片浏览需求

在进入图片浏览前,先进入浏览图片的历史列表,能够清楚的通过缩略图形式把图片呈现出来。

用户可以继续浏览列表里面的图片,也可以手动通过文件加载图片,还可以一键清除列表。

在加载完一张图片后,可以通过手指滑动来控制图片的大小,方便不同用户的需求。

当用户通过滑动屏幕可以显示出下一张、上一张图片。

3.2.6微博分享需求

为了方便用户对播放过的视频或者音乐进行评论,视频播放器提供了微博分享平台。

微博分享界面是提供给新浪微博用户登录和发表心情的平台。

在开始时有个简单的烟花绽放的动画,当用户点击登录按钮后,直接联接网络。

用户直接用新浪微博提供的登录界面进行登录,这样用户不用担心第三方盗窃自己的密码等信息。

在登录后发表自己的心情或者对播放过的视频或者音乐进行评价。

4概要设计

概要设计是软件开发过程中必不可少的一个环节,主要说明对程序系统的设计考虑,包括程序系统的基本处、流程、程序系统的组织结构、模块划分、功能分配、等待等,为程序的详细设计提供基础。

以下从设计目标、功能设计、数据存储层面说明该程序系统的概要设计。

4.1总体设计目标

在该系统中,主要从满足用户需求,优化界面设计等方面考虑,提出了以下两点设计目标。

4.1.1功能完备

本系统力求把每一个可实现的功能实现的尽善尽美,功能模块之间相对的独立,以消除可能的潜在错误,同时采用高效的算法提高访问执行效率等。

4.1.2用户界面友好

本系统中所实现的是面向大众的Android收集应用软件,故良好的用户界面更能提高用户的使用效率,另外界面清晰,是本程序的另一大特色。

这无疑方便了用户的操作,节省了用户的时间。

4.2总体功能设计

根据需求分析,在主界面用选项卡来显示,当用户点击不同界面的窗口名时,进入到相应的界面。

如图4.1所示,在选项卡里面主要包含了播放列表、视频设置、音乐播放、图片浏览、微博分享、关于帮助等界面。

图4.1多媒体播放器主要功能图

4.2.1视频播放界面功能设计

在视频播放功能界面,主要依赖用户操作在点击播放界面后弹出的popupwindow来的一系列按键或者进度条来达到操作的目的。

其主要功能如图4.2所示。

图4.2视频播放器功能图

4.2.2音乐播放界面功能设计

如图4.3所示,在音乐播放界面,用户可以进行音乐快进、快退、上一曲、下一曲、暂停/播放、播放模式选择选择。

在播放界面显示歌曲的相关信息,如果歌词存在,会跟随歌曲播放进度显示歌词。

当需要调节音量大小或者进度调节时候,点击音量/进度切换按钮,进入不同的模式进行相应的调节。

用户还可以点击定时播放按钮,进入到定时播放模式下,可以选择按歌曲播放或者按时间播放。

图4.3音乐播放功能图

4.2.3其他界面功能设计

在播放列表界面,主要是视频文件的信息和一些基本的操作,用户可以根据自己的意愿做出相应的操作。

而图片浏览界面,用户通过滑动屏幕来获得上一张或者下一站图片,对选中图片进行缩放。

帮助界面主要介绍一些对多媒体播放器的一些操作信息。

当用户点击按钮进入微博分享界面后,呈现给用户的是一个小的动画,点击登录界面后,可登录新浪微博进行简单的微博分享。

视频设置界面主要是对视频播放的一些初始化,用户在该界面可以对视频的音量、屏幕比例、播放模式、设置界面的背景进行设置保存。

其功能如图4.4所示。

图4.4其他功能图

4.3数据存储设计

数据结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数据的整体组织形式等一系列问题。

数据库,顾名思义,是存放数据的仓库。

只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。

数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。

在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择。

4.3.1SQLiteDatabase数据库

SQLite是一个嵌入式数据库引擎,针对内存等资源有限的设备(如手机、PDA、MP3)提供的一种高效的数据库引擎SQLite数据库不像其它的数据库(如:

Oracle),它没有服务器进程。

所有的内容包含在同一个单文件中。

该文件是跨平台的可以自由拷贝。

基于其自身的先天优势,SQLite在嵌入式领域得到了广泛应用。

在多媒体播放器中,采用了该类型数据库来存放视频文件、音频文件、图片的相关信息。

通过对数据库的一系列操作来达到对播放列表的增加、删除、更新等操作。

QLiteDatabase主要存储的是视频播放历史文件表vedio、音乐播放历史表music、图片浏览历史表picture。

vedio表中各行存放的是视频ID、名称、最近播放时间、播放的进度,其E-R图如图4.5所示:

图4.5视频资源E-R图

music表中各行存放的是歌曲D、歌曲名称、歌曲时间、歌曲路径、歌曲大小、专辑名、艺术家、歌曲全名、歌曲长度,其E-R图如图4.6所示:

图4.6音频文件E-R图

picture表中存放的是图片名称、图片路径、最近浏览时间,其E-R图如图4.7所示:

图4.7图片文件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1