音乐播放器软件课程设计小组报告(JAVA).pdf_第1页
音乐播放器软件课程设计小组报告(JAVA).pdf_第2页
音乐播放器软件课程设计小组报告(JAVA).pdf_第3页
音乐播放器软件课程设计小组报告(JAVA).pdf_第4页
音乐播放器软件课程设计小组报告(JAVA).pdf_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 软件课程设计实验报告 课题 音乐点播系统 班级 作者 学号 指导老师 课设评价 课设成绩 小组报告 小组报告 2 一 需求分析 1 项目描述 3 1 1 编写目的 3 1 2 项目背景 3 1 3 开发工具及环境简介 4 2 软件基本要求 4 二 总体方案设计说明 1 整体结构模型 5 2 各部分功能具体内容及关系 5 3 任务分配 6 三 详细设计说明 1 客户端设计 1 1 图形界面设计和列表管理 6 1 2 本地播放 9 1 3 特色功能的实现 10 1 4 客户端与服务器通信 12 2 服务器端设计 2 1 服务器界面设计 14 2 2 乐库管理 14 14 2 3 服务器与客户端通信 16 四 测试过程说明 1 测试步骤 16 2 测试结果与测评 17 五 功能模块使用说明 1 客户端 18 2 服务器端 19 六 开发计划 20 七 开发总结与建议 21 3 一 一 需求分析需求分析 1 1 项目描述 项目描述 1 11 1 编写目的编写目的 设计一个基于 windows 平台的音乐点播系统 实现音乐库的管理以及用户网络 下载和播放功能 通常音乐播放器能够满足音乐的播放功能 实现一款播放器的基本功能 但随 着网络的日益发达以及人们对信息交互的需要 越来越多的情况下我们更多的是 通过网络来获取音乐资源 但如何有效的实现这一目的以及提供良好的用户体验 是其关键 通过 window socket 服务将客户端与服务器端相连接 将资源信息通 过客户端来显示 不但简洁方便同时也能更好的满足用户需求 给用户带来极大 的方便 1 21 2 项目背景项目背景 本项目作为 软件课程设计 课程的训练项目提出 在基本的设计实现基础 上 将不断对已有的设计进行进一步的修改和完善 最终完成整个软件开发过程 本次项目的旨在通过不同软件工程设计方法与技术的实践 了解和掌握各种技 术 工具平台的特点与局限性 体会协同开发方式 第 1 阶段 主要目的是通过对项目需求的分析和理解 通过面向对象的设计 方式完成项目前期的准备工作 第 2 阶段 我们会根据既定需求 完善设计模式 第 3 阶段 在设计文档和需求分析的文档下 完成音乐点播系统原型的开发 并完成整个开发流程的测试报告 第 4 阶段 通过音乐点播系统软件的设计开发 了解软件文档的编写原则 训练掌握软件各类文档写作的技巧 同时在文档的编写过程中提高和增加 java 开发的能力和经验 4 1 31 3 开发工具及环境简介开发工具及环境简介 操作系统 windows xp 或以上版本 Java Eclipse SDK 一个开放源代码的 基于 Java 的可扩展开发平台 就其本身而言 它只是一个框架和一组服务 用于通过插件组件构建开发 环境 同时 Eclipse 附带了一个标准的插件集 包括 Java 开发工具 Java Development Tools JDT 和 JMF Microsoft Office Word 2007 经典办公软件 本项目中用于编写文档 2 软件基本要求软件基本要求 2 12 1 服务器端 服务器端 1 有图形界面 2 提供音乐库的管理功能 包括添加 查询 删除功能 3 提供网络下载功能 支持通过歌名和歌手名进行歌曲检索和下载功能 2 22 2 音乐播放端 音乐播放端 1 有图形界面 2 支持音乐列表管理 网络下载 本地删除 3 提供基本播放功能 播放 暂停 快进 快退 停止 4 支持播放模式 单曲播放 单曲循环 顺序播放和随机播放 5 支持播放信息显示 歌曲名 播放时间 2 32 3 拓展需求 拓展需求 1 支持歌词显示和同步播放 2 支持歌曲在线播放 3 支持更友好的歌曲检索和下载功能 4 提供更良好的操作界面 5 二 二 总体方案设计说明总体方案设计说明 1 整体结构模型整体结构模型 本项目需要实现音乐播放的功能 同时需要有良好的界面操作 同时支持网络 下载播放等功能 在概要设计中我们将该项目分解成客户端和服务器端来分别实 现 并通过通信将两者联系在一起 1 1 系统框架图系统框架图 文件传输 接受与发送命 图一 系统框架图 2 2 各部分功能具体内容及关系各部分功能具体内容及关系 客户端传输 模块 基本音乐 播放模块 迷你音乐盒 图形界面模块音乐播放模块 音乐列表 管理模块 歌词显示 模块 服务器端音 乐列表管理 模块 服务器端传 输模块 通讯传输模块 迷你音乐盒 客户端音乐播放 服务器端 同步通信模块 歌词同步模块 音乐播放管理功能 图形化 UI 通信及传输 数据库处理模 块 文件管理模块 图形化 UI 6 图二 总体设计框图 2 12 1 基本播放模块功能 基本播放模块功能 播放 暂停 停止 快进 快退 上一首 下一首 音量调节 包括静音 单曲播放 随机播放 顺序播放 2 22 2 音乐列表管理 音乐列表管理 添加 删除音乐 歌曲信息显示 歌名 歌手名 2 32 3 歌词显示模块 歌词显示模块 同步歌词显示 2 42 4 客户端传输模块 客户端传输模块 歌曲按条件搜索 歌曲下载 2 52 5 服务器音乐管理 服务器音乐管理 添加 删除音乐 歌曲信息显示 歌名 歌手名 2 62 6 服务器传输模块 服务器传输模块 提供音乐下载 2 72 7 图形界面模块 图形界面模块 各部分功能界面可视化的实现 3 3 任务分配任务分配 组长 文念 负责分工调度 播放列表管理模块 音乐播放模块 客户端服务器 通信模块等 组员 刘非凡 负责客户端 服务器端图形化界面 及软件测试 文档报告编写 三 三 详细设计说明详细设计说明 1 客户端设计 客户端设计 1 图形界面设计和列表管理 图形界面设计和列表管理 1 1 登陆界面设计 考虑到项目的用户黏着度 在设计初期 拟设置分享功能 支持用户注册登 陆等功能 并通过数据库保存用户信息 注册用户之间可以分享歌曲 用户信息函数 public WelcomeFrame 这是整个项目的主类 即程序的 7 入口 用户选择可以注册 登陆或者是直接进入播放器主界面 图三 登陆界面 1 2 主界面设计 音乐播放器包含的功能模块比较复杂 因此需要将各个功能模块进行划分 在设计的过程中 我们将整个界面合理的划分为两个部分 包括 1 左边的歌曲信息及管理 1 1当前播放 时间条 三个操作按钮 音量控制 1 2播放列表 左 歌曲显示 右 三个操作按钮 1 3添加删除 搜索框和按钮 2 右边的歌词面板 2 1 系统时间显示 搜索 下载 2 2 歌词显示 乐库搜索 皮肤切换 主界面函数 public class MainView 左边部分 public void ViewLeft 右边部分 public void ViewRight 8 图四 音乐播放器主界面 1 3 列表管理 列表管理包括歌曲的增删查改 为了方便对歌曲的操作 我们采用了 sqlserver2000 数据库 添加歌曲 public class AddMusic 修改歌曲 public class UpdateMusic 删除歌曲 由于删除操作直接与数据库进行交互即可 没有封装成一个类 图五 添加歌曲界面 9 图六 修改歌曲界面 2 本地播放 本地播放 2 1音频文件的打开和关闭 播放类 public class PlayerWork 音乐的播放暂停等功能的实现都需要调用该类 在播放类中包含有 2 个主要的方 法 public void playerStart 开始播放开始播放 public void playerStop 停止播放停止播放 2 2音频文件信息的读取 通过传地址找到待播放的歌曲通过传地址找到待播放的歌曲 public void PlayerWorking String fileAddress 2 3对歌曲的操作 停止 播放 上 下一曲 模式切换 在 java 中 我们通过对事件的监听来实现相关操作 因此对歌曲的操作我 们全部封装在一个事件监听的类里边 按钮事件的监听 播放按钮 操作按钮 播放模式按钮按钮事件的监听 播放按钮 操作按钮 播放模式按钮 搜索下载 搜索下载 public void actionPerformed ActionEvent e 1 处理操作按钮 处理操作按钮 该操作为对歌曲列表的管理 即增删查改的操作该操作为对歌曲列表的管理 即增删查改的操作 if e getActionCommand equals add 添加添加 if e getActionCommand equals delete 删除删除 if e getActionCommand equals update 修改修改 2 处理播放按钮 处理播放按钮 if e getActionCommand equals jb next 下一曲下一曲 if e getActionCommand equals jb last 上一曲上一曲 if e getActionCommand equals jb play pause 播放播放 暂停暂停 3 处理播放模式 处理播放模式 if e getActionCommand equals shunxu 顺序播放顺序播放 if e getActionCommand equals danqu 单曲播放单曲播放 if e getActionCommand equals xunhuan 循环播放循环播放 4 搜索与下载 搜索与下载 if e getActionCommand equals search 搜索搜索 if e getActionCommand equals download 下载下载 2 4播放状态显示 在 播 放 歌 曲 的 过 程 中 需 要 实 时 的 显 示 当 前 的 播 放 我 们 直 接 用 jlb song setText songname 即可以实现当前播放的显示 2 5播放时间的变更 播放时间包括歌曲的总时间以及正在播放的是时间点 因此我们用了一个类来实 现 10 计算总时间并按照正确格式显示 public String total int t seconds 在显示当前歌曲的时间时 我们将其在线程中实现 2 6 歌词同步显示 歌词显示的类 public class LrcParser 通过调用通过调用 paint 函数实现歌词的实时添加 函数实现歌词的实时添加 实时同步歌词 参数实时同步歌词 参数 g 为画笔工具 为画笔工具 String pait 为实时的歌词为实时的歌词 public void paint Graphics g String paint 3 3 特色功能的实现特色功能的实现 在我们的音乐播放器中 添加了几个特色功能 1 当前时间的同步显示 2 整曲歌词的显示 3 根据乐库搜索歌曲 4 智能换肤 同对歌曲的操作一样 实现特色功能我们也是用事件的监听来完成的 在 右边的界面中 我们设计了四个面板 分别用来存放四个功能模块的显示 并通 过点击 Button 来进行切换 4个button的监听 实现面板的切换 jb lrc addActionListener new ActionListener 1 歌词 歌词 jb ku addActionListener new ActionListener 2 乐库 乐库 jb pifu addActionListener new ActionListener 3 背景 背景 jb so addActionListener new ActionListener 4 搜索结果 搜索结果 3 13 1 系统时间的实时同步 得到系统时间并显示 Date nowTime new Date String now TIME nowTime toString 图七 时钟同步 11 3 23 2 整曲歌词的显示 图八歌词显示与同步 3 23 2 根据乐库搜索歌曲 图九 乐库管理与搜索结果 12 3 33 3 换肤 图十 背景切换 4 客户端与服务器通信客户端与服务器通信 客户端与服务器的通信包括歌曲的搜索与下载 由于在本项目中 我们应用 的 sqlserver2000 数据库 因此在搜索时我们需要与数据库进行连接 然后才能 检索相关结果 在下载时我们则需要与服务器建立 socket 连接 方能下载歌曲 4 14 1 搜索歌曲搜索歌曲 搜索功能的实现需要与数据库进行交互 在本项目中 支持歌曲的模糊搜索 即 可以通过歌曲名或者歌手名检索歌曲并支持双击下载 搜索歌曲的功能通过事件的监听来实现 public void actionPerformed ActionEvent e 4 搜索与下载 搜索与下载 if e getActionCommand equals search 搜索搜索 if e getActionCommand equals download 下载下载 4 24 2 下载歌曲下载歌曲 4 2 1 本地下载 13 本地下载歌曲的实现是通过用户双击要下载的歌曲 然后通过调用 socket 从服务器端下载歌曲到播放列表 从服务器获取资源的类 public ClientReciveFromServer 客户端的 socket 类 public class ClientSocket 图十一 本地歌曲下载 4 2 24 2 2 网络下载网络下载 在联网状态下 网络下载是可以直接输入需要下载的歌曲的 url 直接从网 上在下载歌曲到本地 网络下载是通过调用歌曲下载的类 并以线程的方式下载 网络资源 网络下载的界面的类 public class DownloadFrame 网络下载的线程类 public class DownLoadFromNet 图十二 网络歌曲下载 2 服务器端设计 服务器端设计 14 服务器端需要实现的功能包括 1 有图形界面 2 提供音乐库的管理功能 包括添加 查询 删除功能 3 提供网络下载功能 支持通过歌名和歌手名进行歌曲检索和下载功能 1 服务器界面设计服务器界面设计 1 11 1图形界面设计图形界面设计 服务器界面的主类 public class ServerFrame 图十三 服务器界面 2 乐库管理乐库管理 2 12 1 音乐库的管理功能 添加 修改 查询 删除音乐库的管理功能 添加 修改 查询 删除 添加 public class AddMusic 修改 public class UpdateMusic 查询和删除功能直接在主界面中实现 这两种操作需要直接与数据库进行交互 15 图十四添加歌曲 图十五 修改歌曲 2 22 2 网络下载功能网络下载功能 监听网络文件下载按钮并实现网络下载 Public void actionPerformed ActionEvent e if e getActionCommand equals download 下载歌曲下载歌曲 16 DownLoadFromNetdownLoad new DownLoadFromNet 图十六网络下载 3 3 服务器与客户端通信 服务器与客户端通信 服务器与客户端通信线程 public class ServerSendToClient ServerSocket ss 服务器开启服务端口服务器开启服务端口 String filePath 要下载的文件要下载的文件 Socket s null 用于连接和传送数据的用于连接和传送数据的 socket 四 测试过程说明四 测试过程说明 1 测试步骤 测试步骤 1 点击服务器端生成的 musicServer exe 文件 进入服务器界面 并单击设置按 钮 开启服务器 2 点击客户端生成的 musicClient exe 文件 进入客户端界面 开始运行 3 测试歌曲播放 风别测试播放 暂停 上 下一曲 快进 快退 按钮 4 测试播放模式 选择播放模式 顺序 循序 单曲三种播放模式 5 测试歌曲信息操作按钮 选择添加 修改或删除歌曲按钮 进行相应操作 6 测试歌词 在歌曲播放的同时 点击歌词面板并观察歌词是否实时同步 7 测试乐库与换肤 对扩展功能面板进行切换 点击歌手图片搜索歌曲或点击 背景图片进行背景的切换 17 8 搜索 在搜索框中输入要查询的信息 点击搜索 观察搜索结果 9 下载 1 在搜索结果中双击歌曲可以直接下载 2 点击网络下载按钮 输入 url 在联网情况下下载网络歌曲 2 测试结果与测评测试结果与测评 1 服务器端已完成功能 1 有图形界面 2 提供音乐库的管理功能 包括添加 查询 删除功能 3 提供网络下载功能 支持通过歌名和歌手名进行歌曲检索和下载功能 2 2 音乐播放端已完成功能 1 有图形界面 2 支持音乐列表管理 网络下载 本地删除 3 提供基本播放功能 播放 暂停 停止 4 支持播放模式 单曲播放 单曲循环 顺序播放和随机播放 5 支持播放信息显示 歌曲名 播放时间 3 3 拓展功能 1 支持歌词显示和同步播放 2 支持歌曲在线播放 3 支持更友好的歌曲检索和下载功能 4 支持当前时间显示 5 支持换肤 6 支持乐库搜索 4 4 待改善功能 1 快进快退功能有待改进 2 界面有时会出现 bug 证明软件不够稳定 需要在代码中进一步修改 是整 个项目更加健壮 3 在客户端下载歌曲时有时会出现误码或者歌曲下载不成功的情况 这可能是 由于使用的文件传输协议不恰当导致 在后期处理的时候需经过调试之后选 择更加合适的传输协议 4 在客户端使用了数据库 频繁的与数据库的交互导致软件运行比较慢 在后 期需要改进 用文件来保存歌曲的信息会更合理 18 五 功能模块使用说明五 功能模块使用说明 1 客户端客户端 1 1客户端运行界面展示客户端运行界面展示 图十七客户端主界面 1 2操作说明操作说明 1 2 11 2 1基本播放模块功能 播放 暂停 停止 单击播放按钮按钮可实现播放暂停的转换 上一首 下一首 单击上一曲或下一曲可按操作播放歌曲 单曲播放 随机播放 顺序播放 点击播放模式选中即可 1 2 21 2 2音乐列表管理 添加 修改 删除音乐 可以通过界面左下角的三个按钮来添加 修改或删除 歌曲 该操作会与数据库进行交互 歌曲信息显示 歌名 歌手名 当前有歌曲播放时 在界面左上角能正确 显示当前的额歌曲和歌手信息 1 2 31 2 3歌词显示模块 19 同步歌词显示 在界面的右下角会直接实时同步当前歌曲的歌词 并能在歌 词面板中查看所有的歌词信息 1 2 41 2 4客户端传输模块 歌曲按条件搜索 根据要查询的歌曲 可以输入关键字 从数据库中查询得 到相应的歌曲 歌曲下载 根据查询到的歌曲 在查询信息面板中可以双击下载某一首歌 曲 并支持多线程同时下载 1 2 51 2 5乐库查询 查询歌手歌曲 点击某一个歌手图片 可以直接查询到该歌手所有的歌曲 1 2 61 2 6换肤 切换背景 单击系统提供的背景图片可以自由换肤 2 服务器端 服务器端 2 1服务器端界面展示 图十八服务器主界面 2 2操作说明 2 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论