• Android音乐播放器的设计与实现


    目录

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

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

      ①开发技术:

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

      ②平台介绍

    • 硬件平台

      CPU奔腾双核 (主频2.0GHz)

      内存1G以上

      64或32位PC机

      500G硬盘

    • 软件平台

      操作系统:Windows XP Win7Win8win10

      开发工具:Android Studio

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

    二、应用需求分析

      ①基本控制需求

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

      

      ②功能需求

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

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

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

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

    三、应用功能设计和描述

      

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

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

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

    四、应用UI展示

      

      附:下载地址如下

      

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

      

  • 相关阅读:
    统计学(第六版)14单元——学习总结
    统计学(第六版)13单元——学习总结(时间序列分析总结)
    统计学(第六版)11到12单元——学习总结
    Kubernetes: 微内核的分布式操作系统
    彻底搞懂JavaScript之原型
    手把手带你玩转k8s-一键部署vue项目
    新一代缓存Caffeine,速度确实比Guava的Cache快
    理解 Es6 中的 Symbol 类型
    一天一大 leet(用两个栈实现队列)难度:简单 DAY-30
    (Java 源码阅读) 春眠不觉晓,HashMap知多少
  • 原文地址:https://www.cnblogs.com/zhuangshounaZSN/p/9881680.html
Copyright © 2020-2023  润新知