APP下载

基于Android的音视频播放器的研究与设计

2018-01-04徐艳菲吴铁峰

微处理机 2017年6期
关键词:播放器音视频界面

徐艳菲,吴铁峰

基于Android的音视频播放器的研究与设计

徐艳菲,吴铁峰

(佳木斯大学信息电子技术学院,佳木斯154007)

随着计算机技术的发展,利用计算机技术改善人民生活水平的需求越来越高。音视频播放器研究的目的就是为了满足用户的精神生活需要,而开发的一款基于Android平台的便于人们使用的音、视频播放器,通过在移动端使用播放器,播放音乐或视频文件,给用户带来艺术体验,最终达到缓解用户压力的目的。从音视频播放器开发的意义和目的出发,在对播放器的需求进行分析的基础上,以Java语言和Android SDK为开发语言,以Android Studio为编写工具进行设计。播放器主要分为音乐播放和视频播放两大模块。音、视频播放器实现了调节音量、切换播放模式、歌词显示、上一曲或下一曲播放、播放进度条的同步显示等功能。

Android系统;音乐播放器;视频播放器;开源系统;消息传递机制

1 引 言

随着社会的发展,人们的生活水平不断提高,生活节奏也在不断加快,随之而来的是精神压力越来越大,而欣赏音乐和观看视频是最好的舒缓压力的方式之一,但目前市面上用户使用的主流播放器还存在着一些弊端,例如:所需要占用的内存过大、外观花哨不实用、播放时损耗流量过多、软件捆绑过于严重、操作过于繁琐不适合老年和儿童使用、音乐播放和视频播放之间的切换过于繁琐,等等。

这些情况严重影响了用户的良好体验和个人权益,针对以上各种弊端,将各项性能进行优化,同时继承播放器的常用功能,便可满足一般用户听歌、看电影的需求。它能播放常见格式的音视频文件,包括RMVB、AVI、3GB 等格式的视频文件[1]。

以开发一个可以播放主流音乐文件格式并且可以播放视频的多功能播放器为目的,设计一款基于Android手机平台的音视频播放器。利用音视频可以在同一个APP中播放的特点,更好地提升用户的体验。手机上装有一个灵巧的音视频播放器,用户的操作将更加便捷[2]。

2 配置Android开发环境

在搭建Android的开发环境时,首先要搭建Java的开发环境,其搭建过程如下:安装JDK,配置JDK的环境变量;下载Android开发所需要的SDK;下载开发工具,此处用到的开发工具为Android Studio;下载完成Android Studio后,关联一下SDK[3]。

3 Android的消息传递机制

当设计师创建Android应用程序的进程之时,系统就给此进程提供了一个Looper。Looper是一个死循环,它从内部维护这个消息队列。Looper不停地从消息队列中取出消息(Message),取到消息就发送给Handler,最后Handler根据接收到的消息去修改UI。Handler的sendMessage方法就是将消息添加到消息队列中[4]。Activity中提供了一个runOnUiThread方法,用于进行消息处理。此方法是通过线程合并join来实现消息处理的。线程合并指的是:主线程将子线程的任务拿到自己这里来执行并终止子线程[5]。消息机制原理图如图1所示。

图1 消息机制图

4 播放器的需求分析

4.1 播放软件的角色分析

音、视频播放器最主要的功能就是播放视频和音频。在播放音频时,要考虑它的播放模式,一共可设置三种播放模式,分别为:随机播放、单曲循环和列表循环。音频播放时需要实现音量控制功能,在播放时调节音量的大小。此外还要实现播放和暂停的功能,来提升用户的体验。最终还需要实现歌词显示功能和播放上一曲/下一曲的功能。系统的用例图如图2所示。

4.2 音视频播放流程分析

图2 系统用例图

当用户打开软件时首先进入的是主界面,当进入主界面时默认的选择界面为播放音频的界面,进入该界面时软件会自动查找手机SD卡中的音频资料,通过这些音频资料自动生成播放列表。获取完播放列表之后点击播放列表上的音频文件就可以跳转到播放界面,如需退出应用时按手机上的返回键即可。当读取音、视频出错,或执行点击播放操作出现错误时会造成程序崩溃的情况。音、视频播放流程图如图3所示。

4.3 播放软件的总体功能分析

音、视频播放器的主体功能分为音乐播放和视频播放,音乐播放界面的主要功能包括设定歌曲的播放模式、获取音乐播放列表、点击播放音乐和文件浏览。视频播放器的主要功能为获取视频播放列表、点击播放视频和文件浏览。

图3 音视频播放流程图

当用户进入音乐播放界面时要实现对音乐播放模式的设定,完善播放列表上所显示的信息,比如歌曲大小的显示、歌曲名称的显示和歌唱家的显示;此外还要实现播放界面的歌词显示和上一曲和下一曲的切换,以及增加和删除歌曲等功能。

当进入视频播放界面时,用户要完善播放列表上视频的大小显示、视频的名称显示,实现播放界面的快进和快退功能以及视频上一集和下一集的切换,实现显示视频播放的进度和进度条所显示的播放位置一致的功能,以及增加视频和删除视频等功能。

5 软件的设计

5.1 数据库设计

Android中自带SQLite数据库,这是一个十分小型的数据库,正适合于Android这种移动平台使用。SQLite是一个嵌入式数据库引擎,针对内存资源有限的设备SQLiteDatabase专门提供了对应于添加(insert)、删除(delete)、更新(update)、查询(query)的操作方法[6]。

这些方法封装了部分SQL语句,通过参数进行拼接。这些方法实际上是给那些不太了解SQL语法的开发者使用的。对于熟悉SQL语法的程序员而言,直接使用execSQL()和rawQuery()方法执行SQL语句就能完成数据的添加、删除、更新、查询操作。

这四种操作方法主要是在使用内容时使用,因为contentprovider中提供的增、删、改、查的方法,与这一套一样,方便调用参数。具体的用法为:

insert("表名",nullColumnHack,"",contentValue)null,ColumnHack:如果写 null,就无法插入一条空数据,如果想插入空数据,第二个参数必须写一个列名(任意列),这个列名是用来拼接sql语句的,如果contentValue为空,则后台不知道表的列名,无法构建sql语句。

ContentValue为键值对,键对应列名,值对应插入的值,返回值longid,插入的主键id,delete(“表名”,条件,条件值),返回受影响的行数。

update(“表名”,contentValues(更新列、值),条件,条件值),返回受影响的行数。

query(“表名”,查询的字段,条件,条件值)[7]。

5.2 数据库表设计

Android自带一个MediaStore封闭类,专门来存储媒体信息,通过Uri EXTERNAL_CONTENT_URI来访问SD卡中的歌曲详细信息。

歌曲信息表存放媒体信息,字段包括曲目编号、曲目名字、曲目编码、流派、歌词本、歌唱家、曲目文件大小等。

视频信息表存放视频信息,字段包括视频编号、视频名字、视频编码、视频制作人、视频大小、剧集等信息。

软件支持用户通过播放列表来获取各个音频或者视频的详细信息,通过播放列表来操作音视频。

6 系统测试

软件测试就是利用测试工具按照测试方案对应用进行功能测试和性能测试,发现程序中存在的问题。可以根据需要,确定不同的测试方案,设计和维护测试系统,并对测试方案可能出现的问题进行分析。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。软件测试的过程也是程序功能运行的过程。程序运行需要数据,为测试设计的数据也称测试用例,其目的是找出软件可能出现的问题和潜在的错误。

(1)测试工具

测试工具为Java开发环境、安卓SDK和安卓虚拟机。Java是一种跨平台应用软件的面向对象程序设计语言。安卓SDK是安卓开发工具包。安卓虚拟机是由Google官方出厂,以方便开发者使用的安卓环境,方便开发。可以让开发者在PC端(电脑上)安装运行模拟Android系统[8]。

(2)测试结论

经过测试,系统各模块之间链接正常,各模块功能都已经实现;系统功能完整、稳定,性能良好。音、视频播放器列表界面如图4所示。播放列表界面是为了让用户可以直接在播放器上对音、视频资源进行操作。通过测试,系统达到了预期目标。

图4 播放列表界面图

7 结束语

软件采用的开发工具是Android Studio 2.2.3、Android SDK 7.0,基于Java语言设计。系统经过了需求分析、设计以及测试,在安卓手机上实现了播放器的功能且运行流畅。经用户的体验证实,该音、视频播放器操作简单、使用方便且不占用过多的内存。音视频播放器系统实现了播放器的基本功能:正常播放音视频、准确显示播放进度、调节音量、点播上一曲/下一曲、显示歌词等。具体的功能经过测试都达到了预期的效果。

[1]周雅翠.基于Android平台的个人事务管理系统设计[J].吉林建筑大学学报,2015(6):67-68.Zhou Yacui.Design of Personal Affairs Management System Based on Android Platform[J].Journal of Jilin Architecture And Civil Engineering Institute,2015(6):67-68.

[2] 邓昌友,肖遥,马小月.基于Android智能手机数据安全的研究[J].福建电脑,2015(12):5-6.Deng Changyou,Xiao Yao,Ma Xiaoyue.Research on Data Security of Smart Phone Based on Android[J].Fujian Computer,2015(12):5-6.

[3] 王毅.Android平台并行计算研究[J].电子制作,2015(24):26-27.Wang Yi.Research on Parallel Computing of Android Platform[J].Electronic Production,2015(24):26-27.

[4] 王冬.基于Android的天气预报软件的设计与实现 [J].电子制作,2015(24):32-33.Wang Dong.Design and Implementation of Weather Forecast Software Based on Android[J].Electronic Production,2015(24):32-33.

[5] 马建设,赵雪江,苏萍,夏飞鹏.基于Android系统的视频播放器开发[J].计算机应用与软件,2013(11):69-71.Ma Jianshe,Zhao Xuejiang,Su Ping,Xia Feipeng.Development of Video Player Based on Android System[J].Computer Applicationsand Software,2013(11):69-71.

[6] 吴新华,万强.基于Android平台的手机游戏开发[J].萍乡学院学报,2015(6):66-69.Wu Xinhua,Wan Qiang.Mobile Game Development Based on Android Platform[J].Journal of Pingxiang College,2015(6):66-69.

[7] YANG Tianchang,CUI Haoliang,NIU Shaozhang.Dynamic Loading Vulnerability Detection for Android Applications Through Ensemble Learning[J].Chinese Journal of Electronics,2017(05):22-23.

[8] 董涛,李隐峰,范星光.基于Android的移动校园客户端的研究与实现[J].电子科技,2014(12):4-5.Dong Tao,Li Yinfeng,Fan Xingguang.Research and Implementation of Mobile Campus Client Based on Android[J].Electronic Scienceand Technology,2014(12):4-5.

Research and Design of Audio and Video Player Based on Android

Xu Yanfei,Wu Tiefeng
(Information Electronic Technology College,Jiamusi University,Jiamusi 154007,China)

With the development of computer technology,the use of computer technology to improve the needs of people's lives is getting higher and higher.The purpose of audio and video player research is to meet the user's spiritual life needs,which developed a Android-based platform for people to use audio and video player,through the use of players in the mobile terminal,music or video is played,bringing artistic experience to users,as to achieve the purpose of easing the pressure of users.Starting from the significance and purpose of audio and video player development,on the basis of the analysis of player requirements,Java language and Android SDK are used as the development language,and Android Studio is used as the writing tool for the design.The player is divided into two modules:music player and video player.The audio and video player realizes the functions of adjusting the volume,switching the play mode,displaying the lyrics,displaying the last song or the next song,displaying the synchronization of the progress bar and so on.

Android;music player;video player;open source system;message passing mechanism

10.3969/j.issn.1002-2279.2017.06.017

B

1002-2279-(2017)06-0074-04

徐艳菲(1996—),女,黑龙江省双鸭山市人,本科在读,主研方向:计算机应用。

吴铁峰(1981—),男,江苏镇江人,讲师,主研方向:软件工程,javaee网络开发,数据库应用。

2017-10-31

猜你喜欢

播放器音视频界面
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
国企党委前置研究的“四个界面”
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
3KB深圳市一禾音视频科技有限公司
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
WIFI音视频信号传输的关键问题探究
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
高速公路整合移动音视频系统应用
电子显微打开材料界面世界之门