基于安卓Android平台的手机多媒体播放器的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于安卓Android平台的手机多媒体播放器的设计与实现
摘要
随着人们生活节奏地加快,物质生活也越来越丰富了,然而许多人精神上的状态都是比较紧张的,偶尔听听歌曲,看看电影,欣赏图片也不失为一种好的舒缓压力的方式。
基于Android平台的手机多媒体播放器是开发一款可以播放主流音频和视频文件,查看图片的多媒体播放器,能够缓解人们在快节奏的生活中的紧张状态,改善人们的精神生活。
本文主要阐述在Android手机平台下实现视频、音乐播放和简单的新浪微博分享、图片浏览系统的可行性。
详细论证了系统的需求分析、概要设计、详细设计与实现、系统测试等相关过程。
通过Android中的MediaPlayer类解析和播放视频文件、音乐文,利用多线程加载图片文件来实现图片资源的加载和显示,详细介绍不同类型文件的解析和实现过程,同时可以连接互联网,在新浪微博发表简单的评论,分享当前的心情。
关键词:Android平台;MediaPlayer;多线程;资源解析
Abstract
With the accelerated rhythm of life, more and more rich material life, however many people mental states are relatively tight, and occasionally listen to music, watch movies, view pictures may well be a good relieve stress way. Android based mobile phone platform is the development of a multimedia player that can play popular audio and video files, view pictures of the multimedia player that can relieve people in the fast-paced life in a state of tension, improve people's spiritual life.
This article mainly discusses the implementation of video, music and simple Weibo, picture browsing feasibility of the system in the android mobile platform. It also demonstrates in detail about the system needs analysis, outline design, detailed design and implementation and system testing and other relevant procedures. Through the class of parsing and play video files and music files in the MediaPlayer of android, we can use multi-threaded load image file to achieve the resource load and display images and in detail introduce different types of file parsing and implementation process. Meanwhile, it can be connected to the Internet so that we can write a simple comment and share our current mood on Sina Weibo.
Key words: Android platform; MediaPlayer ; multithreading; resource analysis
目录
1 绪论 (1)
1.1背景简介 (1)
1.1.1 MediaPlayer类 (1)
1.1.2多线程 (3)
1.2设计目标 (3)
1.2.1主要内容 (3)
1.2.2设计要求 (4)
1.3 系统设计的意义 (4)
1.4 系统设计工具和运行环境 (4)
1.4.1 系统设计工具 (4)
1.4.2 系统运行环境 (4)
2 可行性分析 (5)
2.1 技术可行性 (5)
2.2 经济可行性 (6)
2.2.1 开发成本 (6)
2.2.2 系统收益 (6)
2.2.3 生存周期 (6)
2.3 操作可行性 (6)
3 需求分析 (7)
3.1用户需求 (7)
3.2系统需求 (7)
3.2.1 视频播放基本控制需求 (7)
3.2.2 视频播放列表管理需求 (8)
3.2.3 播放器设置需求 (8)
3.2.4 音乐播放需求 (8)
3.2.5 图片浏览需求 (9)
3.2.6 微博分享需求 (9)
4 概要设计 (10)
4.1 总体设计目标 (10)
4.1.1 功能完备 (10)
4.1.2 用户界面友好 (10)
4.2 总体功能设计 (10)
4.2.1 视频播放界面功能设计 (11)
4.2.2 音乐播放界面功能设计 (11)
4.2.3 其他界面功能设计 (12)
4.3 数据存储设计 (13)
4.3.1 SQLiteDatabase数据库 (13)
4.3.2 SharedPreferences (15)
5 详细设计 (16)
5.1 视频播放器功能设计 (16)
5.1.1 视频播放器播放界面的实现 (16)
5.1.2 视频播放列表设计与实现 (19)
5.1.3 视频播放设置界面的设计与实现 (20)
5.2 音乐播放功能设计与实现 (20)
5.2.1 手机SD卡的访问的实现 (20)
5.2.2 音乐播放界面的设计及其实现 (21)
5.2.3 音乐歌词显示设计及其实现 (23)
5.3 微博分享及图片浏览的设计与实现 (24)
5.3.1 微博分享的实现 (24)
5.3.2 图片浏览的设计与实现 (25)
5.4 数据的存储设计 (27)
5.4.1 SQLite 数据库的设计与实现 (27)
5.4.2 配置文件存储与读取 (31)
6 系统测试 (33)
6.1 视频播放器功能测试 (33)
6.1.1 视频播放器主界面测试 (33)
6.1.2 视频播放器播放界面测试 (35)
6.1.3 视频设置界面测试 (36)
6.2 音乐播放器测试 (37)
6.2.1 音乐播放界面测试 (37)
6.2.2 休眠模式测试 (38)
6.3 图片浏览测试 (39)
6.4 微博分享及关于帮助界面测试 (39)
6.4.1 微博分享测试 (39)
6.4.2 关于帮助界面测试 (41)
参考文献 (42)
致谢................................................................................................. 错误!未定义书签。
1 绪论
现在移动开发市场上平台林立,各自圈地盘,Android手机平台也异军突起,甚至被誉为对抗iPhone最有实力的平台,而且预计未来将会超过iPhone 独领风骚。
可以看出Android系统无疑已经成为时下全世界最热门的移动设备操作系统。
随着移动开发市场的不断发展,如何高效、准确地对手机中的多媒体资源的解析,日益成为Android 手机开发平台领域研究的热点。
1.1背景简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
目前Android手机的多媒体播放功能已经是大家比较关注的一个部分了,不少在人在购买手机的时候都会关心手机的视频、音乐等多媒体播放功的能力和图片浏览能力,这也足以看出目前大家对多媒体播放功的重视,所以一款性能良好的手机多媒体播放器软件一定会受到欢迎。
而这其中实现视频、音乐播放、图片浏览的主要核心是Android中的MediaPlayer类和多线程等。
1.1.1 MediaPlayer类
Android中的MediaPlayer 类可以用来播放音频、视频和流媒体,Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video 两个应用程序都是调用MediaPlayer实现的。
MediaPlayer生命周期如图1.1所示。
图 1.1 MediaPlayer状态图
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)工具采用Eclipse 3.5 ADT -15.0.0 android--sdk--windows--r15开发;
(2)数据库采用SQLite;
(3)界面大方美观,给以用户相应的温馨提示。
1.3 系统设计的意义
随着科技的进步,手机的功能也不断的得到丰富。
特别是在当今工作压力很大的社会,拥有一个集播放音频、视频文件,浏览图片和进行新浪微博分享等多功能Android 手机多媒体播放器系统,在工作和学习之余放松下疲惫的精神状态是多么的重要。
因此,研究出Android手机多媒体播放器系统是一项重要而有意义的工作。
1.4 系统设计工具和运行环境
软件设计工具和运行环境是开发软件的基础,以下主要介绍设计设计工具和该系统的运行环境。
1.4.1 系统设计工具
本系统主要理由Eclipse 3.5 开发的。
Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。
2003年,Eclipse 3.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操作系统。
支持环境:Android 2.3.3版本。
2 可行性分析
在软件的开发前,可行性分析是必不可少的阶段,其任务是明确应用项目的开发的可行性,而可行性则取决于实现应用系统的资源和条件。
在以下主要从技术可行性、经济可行性、操作可行性逐一分析。
2.1 技术可行性
技术可行性是软件开发可行性分析的最重要的环节,以下主要从环境、语言、平台逐一分析开发多媒体播放器的可行性。
(1)Eclipse 3.5 集成环境
Eclipse是Java开发的一个集成开发环境,而且是一个开源项目。
Eclipse的扩展性非常强,它不仅可以作为Java的IDE使用,而且还可以开发大量的插件支持其他类型的语言,如C、C++、Python、PHP等。
同时支持与MySql和Oracle数据库连接。
在Android中可以利用手机的SQLiteDatabase数据库来存储数据。
(2)Java面向对象开发语言
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。
(3)Android SDK
Android SDK 指的是Android专属的软件开发工具包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
Android平台提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。
SharedPreferences是Android提供用来存储一些简单的配置信息的一种机制。
2.2 经济可行性
经济可行性分析是开发该多媒体播放器一个重要过程,以下主要从开发成本、系统收益、生存周期去分析该系统的经济可行性。
2.2.1 开发成本
从开发所需费用角度出发,本设计预计研发周期3个月,工作人员一名,硬件设施为普通个人电脑。
目前,大多数Android手机生产商具有硬件过硬的手机平台,该软件系统能适用于大多数Android手机,均在承受范围内。
2.2.2 系统收益
从收益角度出发,本设计实现将众多繁杂的Android多媒体播放软件集合为一体,从而减少了安装众多Android多媒体播放软件所占的内存空间。
另外,此系统还可以与互联网连接,进行简单的微博分享,跟着时代的步伐,具有很强的通用性,将带来巨大的收益。
2.2.3 生存周期
本设计具有非常高的收益投资比;投资回收周期短;系统投入使用后可根据今后Android手机的发展不断完善、改进,本系统将一直保存其使用价值,系统生存周期较长;另外,设备和软件配置的变化对其影响较小。
综上所述,本设计的研发在经济上可行。
2.3 操作可行性
本设计采用Eclipse 3.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.1 SQLiteDatabase数据库
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 图片文件E-R图
4.3.2 SharedPreferences
P reference提供了一种轻量级的数据存取方法,一般数据比较少,一些简单的配置信息。
它以“键-值”(是一个Map)对的方式,将数据保存在一个XML配置文件中。
在该播放器中通过SharedPreferences来保存当前设置的信息。
每次打开播发器时会自动读取XML配置文件中的信息进行初始化播放器的设置。
5 详细设计
在软件开发过程中,详细设计关系到软件开发的细节问题。
以下是从各个不同功能模块详细介绍其实现的过程。
该系统主要实现的是视频播放功能、音频播放功能、图片浏览功能、简单的新浪微博分享功能。
5.1 视频播放器功能设计
在大多数Android手机用户看来,拥有一个功能齐全的视频播放器是很重要的。
以下主要从视频播放的界面的实现、视频播放列表的实现、视频播放设置界面的实现详细介绍该系统中视频播放功能的实现过程。
5.1.1 视频播放器播放界面的实现
Android的每一个可视化界面,都有其的唯一的布局配置文件,该文件里面有各种布局方式,和各种资源文件如图像,文字,颜色的引用,程序在运行时,可以通过代码对各配置文件进行读取。
这样就可以形成不同的可视化界面和炫丽的效果。
如图5.1所示,在播放界面主要利用了Android中的surface来显示视频的画面,而播放这样利用了mediaPlayer这个类来加载资源,再和surface关联上就能把音频和视频画面同步播放。
在用户点击播放界面后,弹出一个操作窗口,该窗口主要用popuWindow 这个类来实现的。
在popuWindow中有方便用户操作的按钮,进度条及播放的信息显示。