目录

  1. 应用开发技术及开发平台介绍
  2. 应用需求分析
  3. 应用功能设计及其描述
  4. 应用UI展示

一、应用开发技术及平台介绍

  ①开发技术:

  本系统是采用面向对象的软件开发方法,基于Android studio开发平台,以Android作为本系统的开发语言实现音乐播放器预定的需求功能。

  ②平台介绍

  • 硬件平台

  CPU奔腾双核 (主频2.0GHz)

  内存1G以上

  64或32位PC机

  500G硬盘

  • 软件平台

  操作系统:Windows XP \ Win7\Win8\win10

  开发工具:Android Studio

本软件占用系统空间小,能满足用户对常见音频格式文件的播放要求,还具有歌曲、歌词下载等功能,界面美观交互性好,易于用户理解操作,且不依赖于其它软件,消耗资源少易维护,程序有较好的健壮性和正确性。运行该软件所需的坏境配置不高,能满足绝大多数用户的需求。

二、应用需求分析

  ①基本控制需求

  在着手开发系统之前首先要明确该系统应该实现的一些最基本的功能,然后逐步细化,为每个功能创建一个模块,再对各个模块进行开发。通过分析我们得出一款音乐播放器的基本控制如下图所示:

  

  ②功能需求

  功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求 (behavioral requirement),因为习惯上总是用“应该”对其进行描述。功能需求描述是开发人员需要实现什么。功能需求定义一个软件系统或组件的功能,也是一个系统需提供的功能及服务。功能可以用一组输入、行为及输出的组合来表示。功能需求可以是计算、技术细节、数据处理或其他说明系统希望达成功能的内容。功能需求会以非功能性需求(或是质量需求)为其基础。

结合音乐播放器所要实现的内容,我们列出用户操作的模块,其中每个模块对应一个功能。

  用户启动程序进入主界面,用户可以通过添加模块添加本地歌曲,可以一首一首添也可以添加整个歌曲文件夹。通过播放列表用户可以实现对歌曲的查找、播放、暂停、音量调节、静音。通过歌词模块可以实行歌曲歌词的显示、比对、歌词字体选择。

此外用户还可以联网下载歌词、歌曲。

三、应用功能设计和描述

  

  本音乐播放器不仅要实现对一些常见的音频格式文件的播放,而且还要有友好的用户界面。其最终设计目标是:实现对多种音频格式文件的播放、实现对歌词的滚动播放及当前播放曲目长度显示、显示歌曲文件信息、实现静音和音量控制;播放器软件占用系统资源少、运行平台要求不高、界面美观舒适、操作简单、易维护、高稳定性、,能满足用户的常见需求。

  主要划分为以下七个功能模块,每个功能模块的作用描述如下:

  • 播放控制:控制歌曲的播放状态,如:播放、暂停、上一曲、下一曲。播放过的歌曲按播放顺序排列在播放列表中,每次退出程序、重启播放器后播放列表中的播放记录会自动保存不会清空。
  • 文件控制:主要用来打开本地播放文件。通过研究音频编码解码的相关技术,了解音频编码解码的原理和过程,本音乐播放器支持常见音频格式文件播放如:MP3、WMA、WAV等。可以单个曲目添加,也可以将整个文件夹中的曲目全部添加,实现歌曲文件添加的多样化;此外还可以对播放列表进行清空,对曲目的播放顺序进行控制;当播放列表中曲目过多时,可以从播放列表中快速搜索到需要播放的歌曲。还有对播放列表进行控制如:打开文件所在目录、移除列表、删除文件、显示歌曲文件的相关信息,如:歌手、专辑等。
  • 歌词控制:播放音乐时控制是否显示歌曲歌词,若歌词存在则同步滚动显示歌词,若歌词不存在则可联网下载歌词。此外还可以对歌词字体进行设置。
  • 进度控制:显示当前歌曲的播放总时长和已播放时长,可以通过鼠标调整歌曲的播放进度,实现歌曲的跳跃式播放。其实现方式是通过进度条和时间的同步显示。
  • 声音控制:调整歌曲音量的大小,显示是否静音。

四、应用UI展示

  

  附:下载地址如下

  

String PCDownLoadADD = "http://webcodeschool.hrxxkj.com/webindex";
String wechat = "GZH:校猿码";

  

Android音乐播放器的设计与实现的更多相关文章

  1. Android音乐播放器源码(歌词.均衡器.收藏.qq5.0菜单.通知)

    一款Android音乐播放器源码,基本功能都实现了 qq5.0菜单(歌词.均衡器.收藏.qq5.0菜单.通知) 只有向右滑动出现,菜单键和指定按钮都还没有添加. 源码下载:http://code.66 ...

  2. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...

  3. android音乐播放器开发教程

    android音乐播放器开发教程 Android扫描sd卡和系统文件 Android 关于录音文件的编解码 实现米聊 微信一类的录音上传的功能 android操作sdcard中的多媒体文件——音乐列表 ...

  4. 【竞品分析】Android音乐播放器的竞品分析

    迄今为止最长的一篇博客,各位看官笑纳~~ 本次分析基于Android平台,选取了几款我体验过的播放器进行比较分析.主要分为两类,一类是大而全的,功能全面,可满足用户管理歌曲.导入导出歌单等多方面需求, ...

  5. android 音乐播放器

    本章以音乐播放器为载体,介绍android开发中,通知模式Notification应用.主要涉及知识点Notification,seekbar,service. 1.功能需求 完善音乐播放器 有播放列 ...

  6. Android音乐播放器的开发实例

    本文将引导大家做一个音乐播放器,在做这个Android开发实例的过程中,能够帮助大家进一步熟悉和掌握学过的ListView和其他一些组件.为了有更好的学习效果,其中很多功能我们手动实现,例如音乐播放的 ...

  7. ios开发:一个音乐播放器的设计与实现

    github地址:https://github.com/wzpziyi1/MusicPlauer 这个Demo,关于歌曲播放的主要功能都实现了的.下一曲.上一曲,暂停,根据歌曲的播放进度动态滚动歌词, ...

  8. [ 原创 ]学习笔记-做一个Android音乐播放器是遇到的一些困难

    最近再做一个安卓的音乐播放器,是实验室里学长派的任务,我是在eclipse上进行开发的,由于没有android的基础,所以做起来困难重重. 首先是布局上的困难 1.layout里的控件属性不熟悉 2. ...

  9. Android音乐播放器开发

    今日看书,看到这个播放器,我就写了个例子,感觉还行,这个播放器能播放后缀是.MP3的音乐,这个例子在main.xml设置listView的时候,注意:android:id="@+id/and ...

随机推荐

  1. [Swift]LeetCode929. 独特的电子邮件地址 | Unique Email Addresses

    Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...

  2. python网络-多进程(21)

    一.什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实 ...

  3. linux各个服务器的软件自启动

    首先你需要编写一个shell脚本,也就是启动app的,当然还应该有stop的脚本 这里贴出我的,因为每个人的服务安装路劲不同,故启动不同,仅供参考.如有雷同,纯属你智障 web服务器: 应用服务器: ...

  4. Windows Server 2012安装mysql5.7.24记录

    系统环境: 一.下载mysql5.7.24安装包 地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载解压到相应的目录,我的路径 ...

  5. ASP.NET Core WebAPI中的分析工具MiniProfiler

    介绍 作为一个开发人员,你知道如何分析自己开发的Api性能么? 在Visual Studio和Azure中, 我们可以使用Application Insight来监控项目.除此之外我们还可以使用一个免 ...

  6. asp.net core 系列 17 通用主机 IHostBuilder

    一.概述 ASP.NET Core 通用主机 (HostBuilder),该主机对于托管不处理 HTTP 请求的应用非常有用.通用主机的目标是将 HTTP 管道从 Web 主机 API 中分离出来,从 ...

  7. redis 系列9 对象类型(字符串,哈希,列表,集合,有序集合)与数据结构关系

    一.概述 在前面章节中,主要了解了 Redis用到的主要数据结构,包括:简单动态字符串.链表(双端链表).字典.跳跃表. 整数集合.压缩列表(后面再了解).Redis没有直接使用这些数据结构来实现键值 ...

  8. Java基础9:解读Java回调机制

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  9. Asp.Net SignalR 集群会遇到的问题

    SignalR集群 当客户端数量上来,一台server自然是吃不消的.多个server集群部署是必然的解决方案.再通过负载均衡,嗯 简直是完美.但是问题也接踵而来.每个server只能管理到当前ser ...

  10. 深入浅出ASP.NET Core系列(入门篇)

    入门篇 1.1.专题介绍 1.2.环境安装 1.3.创建项目 1.4部署到IIS 1.5准备CentOS和Nginx环境 1.6部署到CentOS 2.1命令行和JSON的配置 2.2Bind建立配置 ...