




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作 者 声 明本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文)引起的法律结果完全由本人承担。本毕业设计(论文)成果归东华理工大学所有。特此声明。毕业设计(论文)作者(签字): 签字日期: 年 月 日本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能
2、够保证题目、关键词、摘要部分中英文内容的一致性和准确性。学位论文指导教师签名: 年 月 日东华理工大学毕业论文 目录目 录摘 要1ABSTRACT21.绪 论31.1 Android影音播放器课题背景31.2 Android影音播放器课题目的和意义31.3 Android影音播放器专业名词解释42. Android播放器开发技术基础52.1 Java 基础支持52.2 UI界面设计52.3 Android SDK/ADT52.4 Android Media Player52.5 SQlite53.Android播放器需求分析63.1 Android播放器结构分析63.2 功能性需求分析63.2
3、.1 音乐播放器功能性需求63.2.2 视频播放器功能性需求73.2.3 数据库功能性需求73.3 非功能性需求分析73.4 Anroid 影音播放器系统可行性分析83.4.1 开发环境与开发工具83.4.2 可行性分析83.4.3 实现功能类的分析84. 播放器总体设计84.1 播放器设计目标94.2 播放器设计原则94.3 播放器界面设计94.4 Android播放器测试流程设计114.4 数据库设计114.4.1 创建数据库114.4.2 数据库需求分析114.4.3 数据库逻辑设计124.5播放器程序架构介绍134.5.1 Android播放器功能管理设计145.Android播放器视
4、频界面设计165.1界面讲解165.2 VIDEO界面说明175.3 VIDEO主界面功能实现176.Android播放器音频界面主界面196.1 Android播放器音频主界面讲解196.2 Android播放器音频主界面实现197.Android播放器组件217.1切换界面控制的实现:217.2重力感应开关的实现:217.3播放列表开关的实现:227.4列表编辑开关的实现:237.5均衡器开关的实现:247.6数据库连接的实现:248. 系统测试268.1 系统测试简述268.2 系统功能测试268.2.1 音乐播放测试268.2.2 视频播放测试268.2.3 组件测试268.2.4 本
5、地文件添加测试278.2.5 启动Logo测试278.2.6 测试结果27总结28致 谢29参考文献3038摘 要 在信息化时代日新月异的2016泽字节(ZB)之年,信息化的社会已经越来越向人们的生活贴近,各种电子产品和信息共享在世界上越来越广泛,而视频和音乐,无疑在信息传播途径方面占据了大份额。而在市场占有率远超IOS和其他类型的系统的Android是设计软件的最佳平台之一。本软件基于Android平台设计的视频音乐播放器,小巧玲珑,功能完备,给Android用户提供的新的选择。本文主要讲述了如何开发播放器。第一张是绪论以及第二章的Android播放器的开发技术基础,第三章讲述了Androi
6、d播放器的需求分析,从第四章开始正式设计,第四章描述的主要是播放器的设计理念和设计要求。第五章写的是Android播放器的架构介绍。第六章写的是Android播放器的音乐界面的设计和实现,第七章写的是Android播放器视频播放界面的设计和实现,第八章也描绘的是Android播放器的组件的介绍和实现。最后一章,也是第九章,写的则是完成后系统性的测试过程和测试需求。本文主要论述了在Android开发的基础之上的播放器软件,在经过详尽的需求设计和翔实的科学分析,设计的视频与音乐的播放器软件,该软件可以实现不同格式的视频和音乐的播放器,包括.RMVB,.AVI, .mp3等等,功能应有尽有,并且后台
7、占有率小,播放流畅清晰等优点。本文的绪论部分叙写了该播放器的应用条件背景和要求的各种专业名词的解释和应用到的核心理论等等。第一部分介绍了该播放器使用的技术条件和应用平台以及一些理论使用概念。第二部分对播放器的功能进行了分析和讲解。第三部分讲述了播放器的使用和界面分析。第四部分是对播放器的系统的设计的综合详述。最后的收尾部分则是在完成该论文时得到的一些心得体会。关键字:Android;播放器;视频;音乐 东华理工大学毕业论文 绪论ABSTRACTIn the information with each passing day of 2016 zettabytes (ZB) year, the i
8、nformation society has become increasingly to the lives of people close to, all kinds of electronic products and information sharing more and more widely in the world, and music videos and undoubtedly in information dissemination way occupy the larger share.And in the market share far more than the
9、Android to IOS and other types of systems is one of the best platform for software design. The software based on the Android platform design, music player, video, small and exquisite, and the function is complete, to Android users provide the new choice. This paper mainly discusses the player softwa
10、re on the basis of Android development, in after the detailed design requirements and informative scientific analysis and design of the video and music player software, the software can achieve different formats of video and music player, including.RMVB,.AVI,.Mp3, and so on, everything, and the back
11、ground share of the small, smooth and clear playback and other advantages.The introduction part of this article narrates the interpretation and application of the player application conditions and requirements of a variety of professional terms to the core theory and so on. The first part introduces
12、 the player uses technical conditions and application platform and some theory using the concept. The second part of seeding put function are analyzed and explained. The third part tells the story of player and interface analysis. The fourth part is the player system design of comprehensive details.
13、 Finally ending part is obtained in the paper completed some experience.KeyWord:Android;Media Player;Video;Music1.绪 论1.1 Android影音播放器课题背景本课题是建立在Android在中国的市场占有率越来越高,而基于Android的软件的需求也越来越多样化,在Android市场,对于现在多媒体的大行其道,播放器的重要性不言而喻,本课题既是针对多媒体的播放器而设计的的音乐播放器和视频播放器综合的影音播放器。过去,在手机里有专门的音乐播放器和视频播放器,音乐播放器和视频播放器互不
14、兼容,导致打开音乐和视频需要多开几个后台程序,十分麻烦,而现在将音乐播放d器和视频播放器整合到一个Android APP中不仅节约后台资源,更可以节省用户的时间,提高效率。手机在人们的生活中不可或缺,庞大的中国Android市场使各种Android APP都有展现的机会,手机里的影音播放器已经是装机必备的软件,本课题的设计目的亦在于此。1.2 Android影音播放器课题目的和意义本设计采用的是基于JAVA的Eclipse的Android的插件写的APP,Android是一种基于Linux的自由及开放源代码的操作系统。Android影音播放器的课题目的是开发一个能兼容多种格式的音频和视频的播放
15、器。因为在生活中能够视频播放的有多种软件,能够播放音频的也有很多软件,但是同时兼容的并不多。本播放器支持视频和音频的多种格式,在后台也能运行音频播放,在视频运行的时候离开会自动关闭视频的播放。多媒体在我们的社会生活中早已是不可或缺的一部分,在各个行业和领域都有或多或少的作用,而多媒体播放器就是其中最为典型的表现。在Android市场,各种Android音乐播放器和视频播放器都有,但是综合两种支持全部格式的并不多。图1-1 Android市场音频视频对比图由图1-1可以看出,播放器虽然在市场上占有极大的比例,但是综合两种功能的仍然不多,课程设计的就是针对这个问题设计的,在Android上支持各种
16、格式的音乐和视频,在UI设计上采用了清新的风格,利用了Fragment和Media Player和surface View控件的影音播放器使播放器拥有极小的内存占有率和完备的功能。1.3 Android影音播放器专业名词解释Android:Android是一种建筑在Linux的开源的自由模式的的操作系统,主要使用于如智能手机和平板电脑等的设备。 Linux: Linux是一种能够无偿使用和开源的类似于Unix操作系统,是一个支持多用户类型,支持多任务数量,支持多线程运行和支持多CPU运行的系统。 JAVA:Java语言是美国SUN公司为了能够在消费电子产品上开发应用程序而开发出的一种跨平台编程
17、语言。Eclipse:Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就Eclipse而言,它只是一个软件,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)UI:UI即User Interface(用户界面)的简称。UI设计是对软件的人体和机器相互交流,操作的逻辑运行和为了保持界面的美观和优美的整体设计。Fragment:为解决屏幕大小不同而必须修改界面布局而产生的控件,完全可以当成Activity的一个界面的组成部分,拥有自己的生命周期和接收,处理用户的时间Media p
18、layer: Android中很重要也很复杂的媒体播放器部分的架构,基于Open Core的库实现,在Android的界面中,MUSIC和VIEDO两个应用程序都是调用Media Player实现的Surface View控件:Android一种特殊的视图,拥有独立的绘画界面,几乎不会占用主线程资源SQlite: SQLite,是一款小型的数据库软件,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
19、东华理工大学毕业论文 Android播放器需求分析2. Android播放器开发技术基础2.1 Java 基础支持 Java语言是美国SUN公司为了能够在消费电子产品上开发应用程序而开发出的一种跨平台编程语言。在移动互联网蓬勃发展的今天,它所具有的跨平台,面向对象,安全等特点非常符合移动互联网的需要,成为适应互联网时代发展要求的一代成功语言。JAVA基础语言是我编写这款播放器的核心语言,在所有的架构里都有涉及。2.2 UI界面设计UI是指对软件的美化的设计,涉及到界面和操作逻辑和人机交互,是软件设计的一部分,是为了让软件变得个性有品味和操作变得舒适简单自由,充分体现了软件的定位。UI是一门高深
20、的技术,所以我只能以我的微薄学识做一个比较精简的界面。2.3 Android SDK/ADTAndroid SDK/ADT是Google公司推出的软件开发包和虚拟机,在实际设计Android APP是尤为重要的一部分。其中,Android SDK是特定的软件包和软件框架及硬件平台和操作系统等开发工具的集合,包含了许多Anodroid开发所必须的Package。而Android ADT是Android在Eclipse上的开发工具,在Eclipse没有真机调试的情况下的选择,兼容各种版本的Android和平台,缺点是运行速度缓慢。2.4 Android Media PlayerAndroid Me
21、dia Player是Android中重要且复杂的媒体播放器部分的架构,在Android底层是基于OpenCore(PacketVideo)的库实现的,基础的Android的界面上,Music和Video两个应用程序都是调用Media Player实现的。通俗来说,就是Android系统自带的播放架构,在本播放器器中,同样选用了Media Player架构。2.5 SQliteSQLite,是一类小型的数据库软件,是一种关系型数据库管理系统。它囊括在一个比较小的C类数据库中。它能够支持多种比较主流的操作系统,同时能结合许多种的程序语言类,比如C#,JAVA,PHP,TCL,ODBC接口,比起P
22、ostgreSQL和MySQL等开源的数据库软件来说,SQLite作为一个小型的数据库处理速度比这些数据库软件都快。SQLite第一个版本在2005级被编写出来,到现在已经有16年之久了,SQLite也迎来了最新的版本。东华理工大学毕业论文 Android播放器需求分析3.Android播放器需求分析3.1 Android播放器结构分析播放器与我们的生活息息相关,各种场合都有播放器的参与,会议,展览都不可或缺。而Android播放器建立在Android系统上,在移动工具上拥有广泛的用途。本播放器是以Android SDK/ADT为平台,Eclipse为开发工具,Java为核心语言设计的播放器。
23、拥有5个界面,a.启动界面 b.音频播放界面c.音频播放列表编辑界面 d.视频播放界面e.视频播放列表编辑界面,以Fragment为界面切换技术,Surface View为绘图容器的Android程序。这些技术在移动设备上已经被广泛应用,完全可以独立安装,没有任何的阻碍性和环境限制性。预计界面架构如图所示 最上层audio Fragment次上层,Video Fragment次下层,surface View 最下层 Frame Layout图3-1 结构图如图3-1所示,界面架构有4层,负责音频界面的audio Fragment,次上层的视频界面的Video Fragment,负责绘画图层的S
24、urface View,负责布局的Frame Layout,依次覆盖,用户初始是音频界面,通过界面跳转可以切换到视频界面,但是次下层和最下层是用户无法接触和使用的。在我的设计中,使用Fragment控件来控制视频和音频的无缝切换,如图3-2,因为如果音频是视频在两个Activity中实现的话,代码虽然彼此独立但是无法无缝切换,而如果在一个Activity中实现的话,虽然可以无缝切换,但是可读性差,很难管理。3.2 功能性需求分析3.2.1 音乐播放器功能性需求(1)播放本地音乐,提供音乐播放的基本功能,目前支持AAC LC/LTP,HE-AACv1(AAC+), HE-AACv2(echanc
25、ed ,AAC+),AMR-NB, AMR-WB, FLAC,MP3,MIDI,Vorbis,PCM/WAVE等格式。(2)显示声音波段表示,根据声音波段产生震动的波段.通过设置监听来采集数据,获得波形数据,然后以频谱的方式显示在界面上。(3)音乐均衡器,在不同的心情和时候,可以选择不同的播放效果。比如在乡村,城市和郊区可以选择不同的播放体验,用户可以通过调节音乐均衡器,以满足不同音质的需求,通过调整均衡器的频波来控制音乐的播放效果。(4)循环模式选择,可以自主选择循环播放的方式,可以随机播放,循环列表播放和单曲循环,在听到心仪的歌曲时可以选择单曲循环,欣赏歌手的专辑之类的可以循环列表播放,而
26、听选定的播放列表时可以随机播放。(5)重力感应,用户在不同的地方通常会在以不同的方式放手机,或横屏或竖屏,提供重力感应改变屏幕的纵横比来舒适化用户的观看体验,播放器也提供竖屏和横屏两种播放体验。3.2.2 视频播放器功能性需求(1)本地的视频格式的播放功能,作为播放器,核心功能就应该是能够的播放视频文件。移动设备一般不会支持对解码器要求高的格式文件,根据Android Media Player的官方文档,支持以下格式并保持流畅:VIdeo H.263 X X 3GPP(.3gp)、MPEG -4(.MP4)、H.264 AVC X 3GPP(.3gp)、MPEG-4 SP X 3GPP(.3g
27、p)(2)能在本地定位视频文件,在播放器中能够自定义播放列表,能够访问不同位置的视频文件,当然,也不需要将视频文件放在固定的位置,这不利于用户的体验,用户也可以建一个存放视频文件的文件夹,存放在任何可以读取的文件夹下,优化了用户体验。(3)自主搜索文件,本播放器能够自主搜索SD card中的所有支持的视频文件的扫描,在智能搜索设计中,可以通过media scanner对SD card进行扫描,包括自动搜索和自助添加。同时添加到播放列表,一般当视频文件过多时,手动添加更为方便。(4)重力感应,用户在不同的地方通常会在以不同的方式放手机,或横屏或竖屏,提供重力感应改变屏幕的纵横比来舒适化用户的观看
28、体验,播放器也提供竖屏和横屏两种播放体验。3.2.3 数据库功能性需求(1)能够保存本地列表中歌曲的具体信息,例如歌曲名称和歌手信息等。(2)能够自由读取和修改,确保用户对列表的可操作性。(3)保护数据不被误操作而损坏或者丢失3.3 非功能性需求分析非功能性需求分析分为三个方面:(1)画面简洁,布局合理,条理清晰,让人一目了然,有良好的用户体验和交互。(2)保存音频视频列表在本地,不会损坏或者丢失,不会给用户带来额外的时间消耗和成本。(3)所有的音频视频文件收到保护,不会因为错误的操作而丢失或者损坏。3.4 Anroid 影音播放器系统可行性分析3.4.1 开发环境与开发工具本播放器是的开发采
29、用Eclipse8集成开发环境作为开发平台,选用Eclipse ADT作为虚拟Android环境,要求Android 4.0环境,1.5以上的ADT插件和1.6以上的JAVA环境 ,SDK的版本不能低于4.0。3.4.2 可行性分析本播放器是基于Android用Eclipse ADT开发的多媒体播放器,实现播放器将用到以下几种技术:(1):Ui设计播放器的界面和侧边栏(2):JAVA主要用来处理播放器的逻辑以及跳转(3):Media Player处理播放器中音乐和视频的播放(4):开发平台采用Android+Eclipse+ADT(5):数据库是SQ Lite轻型数据库根据以上需求的效果,该播
30、放器的效果是完全可以实现的3.4.3 实现功能类的分析Activity:界面类,负责界面的实现和规划。Fragment:组件类,可以解决不同机型的分辨率不相同的问题,并且切换页面。Equalizer:频谱类,负责显示音乐界面的频谱显示。Visualizer:均衡器类,负责显示和调整音乐节目的均衡器。SetLooping:对象调用,负责管理播放列表的播放模式。LIST类:列表类,负责管理整个播放器的列表,包括音乐列表,视频列表等。Button类:按键类,负责管理整个播放器的按键。MobilePlayer:核心播放类,负责管理整个播放器的视频和音乐播放。OnStart/stopTrackTouch
31、:进度条类,负责管理整个播放器的进度东华理工大学毕业论文 Android播放器总体设计4. 播放器总体设计4.1 播放器设计目标播放器的目标,是基于视频和音乐的播放而设计的软件,开发一个界面精简,运行流畅,舒适性性高,内存占有率低的软件。4.2 播放器设计原则(1)精简性播放器的开发遵循精简的原则,没有多余的界面和插件,一目了然不会给用户混乱的用户体验,让内存利用率降低,后台播放也不会占用很多移动设备的Android系统的内存。(2)流畅性播放器的开发力求流畅,是否流畅是用户最大的体验,在音乐的播放和视频的观看上,小小的卡顿就会对用户造成极差的用户体验,因此,流畅性是本播放器最基础的保证。(3
32、)舒适性一个软件的成功之处在于是否老少咸宜,本播放器的界面清晰,功能简单,无论是白领高层,亦或是工人阶级,都能舒适地使用本软件,易于上手,不会给用户造成使用复杂的感觉。(4)合理性利用Android ADT的测试,对Android 4.0以上的系统都有很好的适应性,软件对环境的要求不高,Android 4.0是市面上普遍的Android版本,不依赖于特定的软件环境。(5)标准性 播放器的开发中遵守统一的标准,无论从数据的处理程序,的测试,程序的设计,开发都要遵守相应的标准和规范。4.3 播放器界面设计依据相关文献和设计目标,本播放器分为三个界面,音乐播放器,视频播放器和本地的搜索列表。 音频列
33、表播放控制音乐频谱侧边栏图 4-1 音乐播放器界面视频列表视频界面视频播放控制 视频播放器界面静音控制视频列表视频播放控制 侧边栏图 4-2 视频播放器界面 本地视频搜索列表本地音乐搜索列表顶部栏图4-3 本地列表界面分为三个界面:音频界面,视频界面,本地列表界面:图4-1代表音频界面包括四个组件,音乐频谱显示,音频播放控制,音频播放列表,音频界面侧边栏。图4-2代表视频界面包括三个组件,视频播放控制,视频界面,视频播放列表,视频界面侧边栏。图4-3代表本地列表界面包括不相干的两个组件,音乐搜索列表和视频搜索列表和顶部保存栏。东华理工大学毕业论文 Android播放器总体设计4.4 Andro
34、id播放器测试流程设计开始欢迎界面 音乐播放界面本地列表添加音频音乐列表编辑本地列表添加视频视频列表编辑视频播放界面结束 图4-4 播放设计流程图如图4-2.点击Android播放器打开程序,经过欢迎界面,进入主界面,即音乐播放界面,编辑音乐列表,在列表中添加本地音频,保存后播放/暂停音频。切换到视频播放界面,编辑视频列表,在列表中本地视频,保存后播放/暂停视频。测试后结束。4.4 数据库设计4.4.1 创建数据库本城市休闲信息网站建设运用的数据库为SQlite,实际需求的环节上考虑,主要负责保存本地列表的一些信息,例如音频文件的名称信息和视频文件的名称信息等,主要运行SQL查询语句在“查询分
35、析器”中实现。4.4.2 数据库需求分析数据库分析是播放器保存本地列表的一个不可获取的环节,是指需要对所有的存储数据进行分析和整理,目的是为了使存储结构具有稳定性和可维护性,我们分析实体可以确定系统中各个数据表之间的关系,更利于保存数据库的本地列表中的安全。介于播放器小巧的设计初衷,只设计两张表,4-1和4-2视频文件列表和音频文件列表。视频文件列表:durationpathlistnameVideo图4-5 Video表设计音频文件列表:durationlistpathnameaudio 图4-6 Audio表设计4.4.3 数据库逻辑设计数据自身是被存放在物理数据库当中的,管理员安全和系统
36、地维护着这些数据,所以用户访问的不是数据本身而是元数据。播放器的以为其精简的设计初衷,具体的存储步骤有,具体存储数据的步骤有:建立文件存放数据库文件。打开SQLite,单机新建数据库,查找到物理存储路径并以进行数据库连接,以本地列表方式连接获取数据并显示。该播放器一共要建立两张表,如表4-1,表4-2实现两个本地列表的设置。表4-1 视频文件本地列表属性类型字段内容允许空定义Video_namevarchar50文章类型否主键Video_pathvarchar50文章类型listvarchar50文章类型durationinteger整数表4-2 音频文件本地列表属性类型字段内容允许空定义Au
37、dio_namevarchar50文章类型否主键Audio_pathvarchar50文章类型listvarchar50文章类型durationinteger整数东华理工大学毕业论文 Android播放器总体设计4.5 程序架构介绍下图为结构图,为了标识特意用红字标注。图5-1 Package作用图如图5-1,播放器设计与实现一共分为三个部分,视频界面和列表,音频界面和列表和相关组件,要实现的功能有:视频界面和列表要负责播放视频和显示视频控制,音频界面和列表要负责播放音频,显示频谱和信息,并且显示音频控制,相关组件包括侧边栏中的界面切换,重力感应的开启和关闭,播放列表的开启和关闭,播放列别的编
38、辑的入口,均衡器的开启和关闭。其中BuildConfig负责运行设置,VideoFragment负责视频界面视图,IUpdateDisplayState负责切换视图,AudioFragment负责音频界面视图。Utils负责工具类,Constants是定义类,AudioPlayerService是服务类,VideoDisplayList是视频列表显示,VideoDisplayitem是视频显示,EditDisplayIte负责基础显示,DisplayItem是界面显示,AudioDisplayList是音频列表显示,AudioDisplayitem是音频显示,adapter是接口,db是数据库
39、,LogoDisplay是Logo界面显示,EditListActivity是列表界面显示,DisplayActivity是主界面显示。4.5.1Android播放器功能管理设计播放视频视频控制视频界面和列表播放音频音频界面和列表Android播放器音频控制相关组件显示频谱和信息数据库本地列表切换界面控制列表编辑开/关均衡器开/关播放列表开/关重力感应开/关图5-2播放器管理设计图图5-2显示了Android播放器的功能设计,Android播放器分为视频界面和列表,音频界面和列表,相关组件,其中视频界面和列表包括了播放视频,视频播放控制和播放视频三个功能,音频界面和列表,其中有播放音频,音频播
40、放控制,显示频谱和信息,而相关组件则有切换界面控制,重力感应开关,播放列表开关,列表编辑开关,均衡器开关和数据库本地列表等功能。东华理工大学毕业论文 Android播放器视频界面设计5.Android播放器视频界面设计视频界面是Android播放器用来播放视频的界面,包含主界面,进度条,侧边栏和控制栏的总界面。5.1界面讲解Android播放器视频主界面主要有Activity,Button,ImageView,Animation等几个类,其中Activitu负责界面显示,Button负责按钮,ImageView图片显示,Animation则是动画的实现。其中Activity是将以在Consta
41、nts中的定义标识符来确定是音频界面还是视频界面,在Constants中:Public static final int DISPLAY_TYPE_AUDIO=0;public static final int DISPLAY_TYPE_VIDEO=1;而在定义中当DISPLAY_TYPE_VIDEO=1时置为视频界面,Button则有OnClick类来负责,例如 public void BtnOnClick中,通过switch循环,通过按钮的位置来确定按钮的功能,来产生不同的效果,用case循环一一对应,例如当接收case时,系统return this.activity.playNext()
42、;这是控制栏中播放下一曲的功能。相对应的,ImageView是设置图片的类,用来显示在资源中的设定好的图片来作为按钮的标志,在Activity中,按钮的图片的显示都是通过这个类画在主显示屏中的。在源代码中,也有例子来说明ImageView类的使用.this.ivMute=(ImageView) this. root.findViewById().也正是这行代码,让一个按钮以图标的方式存在于主界面,而不是一个白色的Button按钮。接下来说到的就是Animation类,Animation是Android中一个颇为特殊的类,他一般用来控制菜单的隐藏和显示,在一般的情况下,Animation有两种动
43、画模式,tweened animation和frame by frame,本播放器采用的是后者。 在源代码中public void onAnimationRepeat(Animation paramAnimation)public void onAnimationStart(Animation paramAnimation)控制着Animation的显示和隐藏。在界面中,一共分为两个界面,一个是视频界面。视频界面用的是MediaPlayer中的Video,所以在界面中支持主流的格式。而Activity和Fragment作为相互依存的关系,FragmentManager能够自由新建和销毁Frag
44、ment界面达到切换的目的。在界面中,还需实现不同的功能。比如基础的播放控制,上一曲,下一曲,播放/暂停,重力感应设置,播放列表设置,静音设置。这都是一个播放器所应该具备的。在界面中,应该注意这些功能键的布局设置,侧边栏的设置应该设置在明显且不干扰用户播放设置的位置,右方隐藏即可。播放控制界面应该放在界面的最下方,不会影响频谱的显示。5.2 VIDEO界面说明图6-1 音乐界面图界面说明:如图6-1,Activity负责是视频界面的播放,Animation负责是侧边栏,imageView负责是按钮的界面,Button则是各种功能的按钮。其中进度条的设置类TrackingTouch在图中没有说明
45、。5.3 VIDEO主界面功能实现主界面播放视频实现:在主界面中,主界面的视频播放主要依靠于Android自带的Media Player的播放功能,通过displayStateSwith来切换播放状态,displayPause和displayContinue来暂停和继续视频,用OnCreateView来获取对象。public View onCreateView (LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle)从这里开始判断activity的getOrientation和getRe
46、sources的值if(this.activity. getOrienta tion()= 4)if (this.activity.getResources(). getConfiguration().orientation = 2)给this.root赋值,调用initScreenView和setGravityLockedImage来显示视图。然后this.activity.get VideoDisplayList().getDisplayListName()和video_default的地址相同时且SIZE不等于0。进度条控制视频实现:进度条的控制有专门的类OnstartTrackingT
47、ouch和OnStopTrackingTouch来控制,前者在开始拖动进度条的时候调用,后者在结束拖动进度条的时候调用。public void onStartTrackingTouch(SeekBar paramSeekBar)开始拖动进度条,调用onStartTrackingTouch函数VideoFragment. this. activity. setSeeking(true);public void onStopTrackingTouch(SeekBar paramSeekBar)结束拖动进度条,调用onStopTrackingTouch函数。int i = paramSeekBar.
48、 getProgress();VideoFragment.this.activity.seekVideoPosition(i);按钮的实现:Button是Android的一个常用的功能,他的功能相当于一个触发器,即当什么时候做什么事,不过这个当什么时候已经被固定,即这个按钮被点击的时候,本界面的按钮相当之多,代码也相当繁多,不一一列举。Animation的实现:Animation的使用在APP中习以为常,在XML文件中定义动画效果,用Repate和Start来控制动画的开关。public void onAnimationRepeat(Animation paramAnimation 动画关闭时
49、调用onAnimationRepeat函数 public void onAnimationStart(Animation paramAnimation) 动画打开时调用onAnimationStart函数 东华理工大学毕业论文 Android播放器音频界面主界面6.Android播放器音频界面主界面6.1 Android播放器音频主界面讲解图7-1 Video界面图Android播放器音频界面主界面的类其实有很多,但是有一部 分被我细化到播放器组件中去了。在这里讲的主要是tvAudioTitle(歌曲标题和信息)类,rgEqualizer(均衡器)类(均衡器实际属于组件类,这里提出,主要是以为
50、波谱是显示在音频主页面上),Button类(按钮类),Activity类。主要来讲,tvAudioTitle即使悬浮在最上方的歌曲和信息类,Text的具体内容会从歌曲中提取this.tvAudioTitle.setText(localAudioDisplayItem.getName().而Equlizer中关联的visualizer就是频谱的实现类,public void updateVisualizerFxAndUI(MediaPlayer paramMediaPlayer),Button在Video界面中已讲解,功能类似,不再赘述。Activity则是音乐播放器的Media Player,
51、频谱正是监听Activity才能将音乐导出为频谱显示在Activity中。public void updateVisualizerFxAndUI(MediaPlayer paramMediaPlayer)6.2 Android播放器音频主界面实现tvAudioTitle(歌曲信息)实现:tvAudioTitle定义了播放器的歌曲的标题和信息,从歌曲中获得歌曲名字和歌手等信息,再用TextView的方式显示在主界面上,代码也非常简单:把歌曲中获得的值传给this.tvAudioTitle和this.tvAudioArtist.this.tvAudioTitle = (TextView)this.
52、root.findViewById();this.tvAudioArtist =(TextView)this.root.findViewById();this.tvAudioTitle.setText(localAudioDisplayItem.getName();this.tvAudioArtist.setText(localAudioDisplayItem.getArtist();显示tvAudioTitle.setText(标题)和tvAudioArist.setText(信息)来显示this.tvAudioTitle.setText("");this.tvAudio
53、Artist.setText("");Visualizer类实现:对于实现音乐的频谱显示,需要一定的普及知识。如果我们想要了解音乐的频谱显示方面的知识,就需要了解关于FFT的知识。简单来说,就是把连续的一类波形或者信号强度转成换离散状的频谱。依我之见,波形即是信号的强度的一种表现,或者说音响的输出的功率的输出越大,功率越高,音量就边变得越大。频谱反映的是一个音乐在固定的一段时间内的时段里,声音的震动的频率的一种体现,不知道理解的对不对。论文的音乐频谱是仿照一个例子写的,该例子是Android APIDEMO里的一个例子,这个例子需要Android 2.3以上的系统。因为只有
54、2.3以上的Android系统,才支持频谱显示的Visualizer类。:(代码过多,只誊写一部分)this.llVisualizer = (LinearLayout)this.root.findViewById(2131165200); class VisualizerView extends ViewButton类(按钮类):Button是Android的一个常用的功能,他的功能相当于一个触发器,即当什么时候做什么事,不过这个当什么时候已经被固定,即这个按钮被点击的时候,本界面的按钮相当之多,代码也相当繁多,不一一列举。Activity类:音频播放器的Activity起的作用和视频播放器的Activity类似,只不过一个用了Media Player的音乐播放功能,另一个用了Med
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年撬装加油站充电桩安装及运营合同
- 2025年度软件工程师岗位个人数据保密及竞业限制协议
- 二零二五年度绿色运输包月合同模板
- 二零二五年特殊环境搬运劳务合作合同
- 二零二五年度供应链采购谈判与跟单一体化服务合同
- 2025版汽车玻璃安装与更换服务合同
- 二零二五年度地下管网包工施工合同
- 二零二五年车辆融资租赁购车合同模板(含车辆排放标准监管)
- 2025版B项目水利工程建设项目施工合同
- 二零二五年度安全生产信息化平台建设责任书
- 粒缺伴发热指南解读课件
- 成人住院患者跌倒评估与预防(团体标准)解读
- 【浅析顾客满意度的评价指标体系文献综述6100字】
- 戴海崎心理与教育测量第4版课后习题答案
- 新概念英语第二册单词表默写纸
- 工业机器人维护与保养PPT全套完整课件
- 新华书店读者问卷调查表
- JJG 315-1983直流数字电压表
- GB/T 15088-2009道路车辆牵引销强度试验
- 熠搜家庭户用光伏电站推介
- 高中区域地理:极地地区南极、北极
评论
0/150
提交评论