软件2014年第35卷 第11期 SOFTWARE 国际IT 传媒品牌
作者简介: 谭静(1978-), 女, 讲师, 主要从事信息处理、通信方面的研究
基于用户体验的Android 手机
音乐播放器设计与实现
谭静,黄甫道辉
(南京航空航天大学金城学院 信息工程系 江苏南京 211156)
摘  要: 以用户体验为导向,从用户的基本需求出发,利用Java 语言和Eclipse 工具,根据Android 项目的整体部署设计了手机音乐播放器。主要功能包括播放、暂停、上一首、下一首、音量调节等。基于用户体验需求实现了歌词同步显示、播放模式可选、睡眠模式功能。音乐播放器在Android 系统中能独立运行,界面简洁、功能优化,占用系统资源少。
关键词: Android;音乐播放器;Java
中图分类号: TN929    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2014.11.009
本文著录格式:谭静,黄甫道辉. 基于用户体验的Android 手机音乐播放器设计与实现[J]. 软件,2014,35(11):42-44
Design and Implementation of Android Mobile Phone
Music Player Based on User Experience
TAN Jing, HUANGFU Dao-hui
(Jincheng College , Nanjing University of Aeronautics and Astronautics , Nanjing 211156, China )
【Abstract 】: From the user experience orientation and from the basic requirement of the user , this article designs mobile phone music player based on the overall deployment of the Android project by the use of Java language and Eclipse tools. The main features include starting, pausing, skipping to the next or previous song, adjusting volume, etc. These functions are realized such as synchronous lyrics displaying, optional play mode, sleep mode based on user experience. Music player can run independently in the Android system, with simple interface, optimization function, low resources consumption. 【Key words 】: Android; music player; Java
0  引言
随着手机的快速发展,利用手机获取、收听互联网上各种各样的音频资源已逐渐成为人们生活中的一部分。然而分析发现目前Android 平台下许多手机音乐播放器用户体验方面存在不足[1]。例如:很多手机音乐播放器片面追求外观的好看或功能的强大,对用户的手机内存却造成了很大程度的资源浪费,CPU 、内存等占用率很高;另外不少音乐播放器播放歌曲时并不支持歌词的同步显示,对一些已习惯使用基于文件浏览器形式播放器的用户操作起来会感到所不便[2]。
本文利用Java 语言和Eclipse 工具设计开发了基于Android 系统的音乐播放器,充分利用Android 丰富的可编程扩展性,在播放器常用功能的基础上将各种性能优化,以用户体验为导向,实现人性化操作。
1  Android 平台
Andr o id 是基于Linux 内核的软件平台和操作系统,采用软件堆层(software stack)的架构,主要分为三部分:底层以Linux 核心为基础,中间层包括函数库Library 和虚拟机Virtual Machine , 最上层是各种应用软件,由各公司自行开发,一般以Java 编写。在基于Android 的软件开发过程中,首先需要搭建好Android 开发环境,了解其基本框架、熟悉其层次结构、掌握其常用配置属性。本文使用Android  SDK2.1版本[3-6]。
Android 系统共有四大组件:Activity(活动)、Service(服务)和Broadcast Receiver(广播)和Content Provider(数据提供者)[7]。并不是每个Android 应用程序都需要这四个模块,本文用到了前三个。需要注
谭静等:基于用户体验的Android 手机音乐播放器设计与实现
43
欢迎推荐投稿:cosoft@163
配置好Android 开放环境后,点击File-->New-->others-->Android project ,选择版本、填写应用名、包名、主Activity 名,点击finish , Android 项目初步创建完成。
2  需求分析与设计
2.1  需求分析
手机音乐播放器要求界面布局简单合理、控制按钮人性化,能让用户一眼看出每个按钮的功能和操作方法。基本功能需要实现播放、暂停、停止、上一首、下一首、音量调节等,在运行时需要显示播放列表,对于歌曲音频能显示对应歌词,能存储最近播放的音频文件名。基于用户体验需求需要实现可选循环模式和睡眠模式。
考虑到Android 手机系统要求最长无法响应时间是5秒,因此音频文件播放停止及界面之间的切换响应时间等对应的程序响应时间不能超过5秒。考虑到不同手机屏幕的大小不一样,应尽量兼容更多手机屏幕的尺寸,使之合理的显示在手机上。
2.2  需求设计
eclipse android本设计共有三个界面——主界面、播放列表界面和播放界面。当项目运行时,先进入主界面,将SD 卡里的音频文件导入到播放列表,
点击播放列表中任一个文件名进入到播放界
面,在该界面会有文件名、滚动条、上一首、
下一首、播放/
暂停按钮的显示。根据播放器
的功能需求设计的时序图如图
1
所示。
3  系统实现
音乐播放器的实现主要通过Android 系统中最重要也最为复杂的媒体播放器(Media-Player)项目组实现,包括实现播放、暂停和复位等功能。播放器的主界面设计如图2所示,可以显示当前正在播放的歌曲,包括显示歌词、播放滚动条、歌曲名称、上一首、下一首、暂停等功能。
在播放器主界面点击“全部歌曲”,会按顺序显示SD 卡中所有歌曲名,点击歌曲列表中任一首歌曲会播放该歌曲并同时显示对应的歌词。歌曲列表的界面实现主要使用TextView 控件,该控件就像一个文本框将文字或图片显示在其中。
播放器的播放模式如图3所示。系统自带的滚动条无论是从界面的观赏性还是从功能的实用性上都不能满足的需要,故图3下方的音轨进度条是运用SeekBar 自定义的[8]。不仅考虑了美观度,最重要的是实现了音轨与歌曲进度的同步。
图1  音乐播放器的时序图
Fig. 1 The timing diagram of music player
图2  播放器的主界面
Fig. 2 The main interface of music player
谭静等:基于用户体验的Android 手机音乐播放器设计与实现
44
欢迎推荐投稿:cosoft@163
考虑到播放器的人性化需求,设计了单曲循环、列表循环和随机播放三种模式。点击图3左上角标识可以切换播放模式,“1”代表了单曲循环模式,另外“2”代表列表循环,“3”代表随机播放。
本设计实现了歌词同步显示,即歌曲播放时歌词会被解析并显示在滚动条的上面。歌词同步需要做如下工作:LRC 时间解析、LRC 歌词解
析、LRC 时间和歌词显示、歌词与播放音乐同步。本播放器的歌词采用.Lrc 文件,即以“[时间]+歌词”的格式存储。解析时间时先判断时间
是否存在,然后判断时间格式是否正确,符合解析条件则将其返回到界面,否则不做任何操作。解析完时间接着解析具体歌词,先判断歌词是否存在,再判断是不是歌词格式,然后返回到界面。
从用户体验出发,为了使该播放器更加人性化,特意设计了睡眠模式,即播放器运行固定的时间后自动关闭。定义一个时间数组,本文主要设置了10分钟、20分钟、30分钟、60分钟和90分钟等固定时间。当点击其中一个时间后,会发送一个子线程,通过Handler 接受该子线程并更新界面。
4  结论
本文通过Java 语言和Eclipse 工具实现了在Android 系统上的音乐播放器应用程序的设计。在必要的功能设置外,以用户体验为导向,实现了歌词同步显示、播放模式可选、睡眠模式功能,避免了界面花哨、功能庞大带来的资源浪费问题,因此较大的提高了软件的实用性。
参考文献
[1] 罗仕鉴, 龚蓉蓉. 面向用户体验的手持移动设备软件界面设计[J]. 计算机辅助设计与图形学学报, 2010.6. [2] 王秀芳, 杨阳. 基于Android 的YOBO 在线音乐播放器[J]. 科学技术与工程, 2011. [3] 于志鹏, 林彦君. 突破关键: Android 核心技术102问[M]. 北京: 电子工业出版社, 2011. [4] 张元亮. Android 开发应用实战详解[M]. 北京: 中国铁道出版社, 2011.
[5] Rick Rogers, John Lombardo et al.. Android Application Development[M]. O’Reilly Media. 2009.5
[6] Damianos Gavalas, Daphne Economou. Development Platforms for Mobile Applications: Status and Trends. IEEE Software, 2011, 28(1): 80-82.
[7] 高焕堂. Android 应用框架原理与程式设计36技[M/OL]. Google 公司 [8]
Skolnikoff E.B. Security and Sanity[J].IEEE Spectrum. 2005(4)
图3  播放模式                      图4  睡眠模式            Fig. 3 Play mode                      Fig. 4 Sleep mode

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。