音乐播放器毕业设计论文(编辑修改稿)内容摘要:

本的 JDK。 因此掌握 JDK 是学好 Java 的第一步。 最主流的 JDK 是 Sun 公司发布四川科技职业学院 毕业设计 (论文 ) 第 6 页 的 JDK,除了 Sun 之外,还有很多公司和组织都开发了自己的 JDK,例如 IBM 公司开发的 JDK, BEA 公司的 Jrocket,还有 GNU 组织开发的 JDK 等等。 其中 IBM 的 JDK包含的 JVM( Java Virtual Machine)运行效率要比 Sun JDK 包含的 JVM 高出许多。 而专门运行在 x86 平台的 Jrocket 在服务端运行效率也要比 Sun JDK 好很多。 但不管怎么说,我们还是需要先把 Sun JDK 掌握好。 从 SUN 的 开始 ,提供了泛型等非常实用的功能,其版本信息也不再延续以前的 , , ,而是变成了 , 了。 从 开始,其运行效率得到了非常大的提高,尤其是在桌面应用方面。 JDK 本身使用了 Java 语言编写,在我们下载的安装包里,有一个 ,里面就是 JDK 的源代码。 四川科技职业学院 毕业设计 (论文 ) 第 7 页 第三 章 系统分析 功能需求 播放器的基本控制需求 根据项目的目标,我们可获得项目系统的基本需求,以下从不同的角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成以下几部分来概括,即播放器的基本控制需要。 在播放器正在运行时,用户选择 一首歌曲后单击“播放”按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲未暂停或停止时,用户单击“暂停”按钮,播放器将进入暂停状态;播放器正在播放或暂停时,用户单击“停止”按钮,播放器将停止播放或暂停时,用户点击“上一首”或者“下一首”按钮,播放器将播放上一首或下一首歌曲。 功能需求分析 从时序图 32 中可以看出播放器运行原理和调用过程。 四川科技职业学院 毕业设计 (论文 ) 第 8 页 图 32 运行及其它需求分析 硬件条件:赛扬 CPU、 1G 内存、 10G 硬盘以上的 PC 机。 软件条件: Windows XP 、 eclipse 、。 本软件对其它软件几乎没有依赖性,程序健壮性较好有较好的可维护性、可靠性、可理解性、效率。 易于用户理解和操作。 可维护性包括了可读性、可测试性等含义。 可靠性通常包括正确性和健壮性。 开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。 可行性分析 经济及技术可行性 经济可行性 研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。 由于本系统是作为毕业设计由我自己开发的,在经济上的投入甚微,系统建成之后将为今主界面 打开文件/文件夹 播放列表 选择播放歌曲 播放界面 播放方法 播放歌曲 播放方法 添加单首歌曲 添加曲歌文件夹 播放界面 调用方法 返回播放 四川科技职业学院 毕业设计 (论文 ) 第 9 页 后播放音乐提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。 开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用: 系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费、打印纸、软盘、色带等开支。 结合该毕业设计的整个过程所有开支都不大,所以经济上是可行的。 技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。 该音乐播放器用的是 java 语言开发的,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。 软件方面:用的是 eclipse,它的速度快、可靠性能高、价格低,完全能满足系统的需求。 运行及法律可行性 对新软件运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。 同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。 运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。 当前我国信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。 从时间上看,时间上是有点紧,但通过一个多月的努力基本功能现在已经基本实现。 在法律可行性上从以下几点考虑: ① 所有技术资 料都为合法。 ② 开发过程中不存在知识产权问题。 ③ 未抄袭任何已存在的课程信息管理系统,不存在侵犯版权问题。 ④ 开发过程中未涉及任何法律责任。 综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。 四川科技职业学院 毕业设计 (论文 ) 第 10 页 第四 章 软件结构及界面设计 软件结构设计 本软件不仅要求功能完善,而且还要界面友好,因此,对于一个成功的软件设计,功能模块的设计是关键。 在需求分析阶段,搞清楚了软件 “做什么 ”的问题,形成了目标 软件 的逻辑模型。 现在我们所要做的就是要把软件 “做什么 ”的逻辑模型变换为 “怎么做 ”的物理模型 ,即着手实现 软件 的需求。 我们需要描述的是系统的总的体系结构。 软件 的设计中最重要的就是 软件 的模块化。 模块化是指解决一个复杂问题时自 顶向下逐层把软件系统划分成若干个模块的过程。 每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。 将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。 也就是说,每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性 ,为设计高质量的软件结构奠定基础。 四川科技职业学院 毕业设计 (论文 ) 第 11 页 图 41 音乐播放器系统流程图 界面功能模块设计 主界面功能如图 : 主界面 添加。 播放列表 播放。 播放音乐 程序结束 四川科技职业学院 毕业设计 (论文 ) 第 12 页 图 音乐播放器的界面有“文件”、“播放”、 2 个主菜单,其中“文件”菜单包含“打开文件”、 ”添加音乐文件夹 ”“退出系统”三个菜单项,“播放”菜单里包含“播放 /暂停”“停止”,“音乐魔方”, ”播放模式 ”,“播放背景”。 菜单项如图 42 所示。 菜单主要功能模块如图 主界面 上一曲 播放/暂停 下一曲 停止 静音/声音 播放状态 四川科技职业学院 毕业设计 (论文 ) 第 13 页 菜单 文件 播放 列表菜单 添加音乐 添加音乐文件夹 退出 播放/暂停 播放/暂停 音乐魔方 播放模式 歌词背景 单曲循环 全部循环 随机播放 四川科技职业学院 毕业设计 (论文 ) 第 14 页 图 下图是播放器主界面 如图 : 图 列表菜单 播放 删除 清空列表 添加音乐 添加音乐 四川科技职业学院 毕业设计 (论文 ) 第 15 页 第五 章 播放器 详细设计 播放器采用 JAVA 为开发语言 ,下面详细介绍了系统各个模块与功能的实现。 文件菜单详细设计 文件菜单只要包括:添加音乐文件,添加音乐文件夹,退出功能:如图。 图 添加音乐文件主要实现方法: /** * 打开音乐文件 */ public void openMusicFile() { int selectState = 0。 File chooserFile = null。 JFileChooser chooser = new JFileChooser()。 MP3FileFilter mp3FileFilter = new MP3FileFilter()。 WAVFileFilter wavFileFilter = new WAVFileFilter()。 (new File(.))。 (选择音乐文件 )。 (确定 )。 (选择音乐文件 )。 四川科技职业学院 毕业设计 (论文 ) 第 16 页 (wavFileFilter)。 (mp3FileFilter)。 ()。 //只选择文件 selectState = (this)。 if (selectState == ) { chooserFile = ()。 if (().toLowerCase().endsWith(.mp3) || ().toLowerCase().endsWith(.wav)) { SongInfo newSong = new SongInfo(())。 ().addSongFiletoList(newSong)。 } } } //监听事件,通过判断语句判断是否点击了添加音乐文件的菜单,然后调用openMusicFile();方法 public void actionPerformed(ActionEvent e) { String action = ()。 if (添加音乐文件 .equals(action)) { ()。 } 添加音乐文件夹的功能实现 /** * 打开音乐文件夹 */ public void openMusicFolder() { int selectState = 0。 File chooserFolder = null。 四川科技职业学院 毕业设计 (论文 ) 第 17 页 JFileChooser chooser = new JFileChooser()。 (new File(.))。 (选择 音乐文件夹 )。 (确定 )。 (选择音乐文件夹 )。 ()。 //只选择文件夹 selectState = (this)。 if (selectState == ) { chooserFolder = ()。 String songPath[] = ()。 int length =。 for (int i = 0。 i length。 i++) { if (songPath[i].toLowerCase().endsWith(.mp3) || songPath[i].toLowerCase().endsWith(.wav)) { SongInfo newSong = new SongInfo(chooserFolder + + songPath[i])。 ().addSongFiletoList(newSong)。 } } } } //判断是否点击了添加音乐文件夹,成立就调用 openMusicFolder 的方法 public void actionPerformed(ActionEvent e) {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。