- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java课程设计-音乐播放器
程序设计课程设计
综合实验
音乐播放器
班级:
目录
1 程序功能描述 3
2 开发环境描述 3
3 开发技术介绍 3
4 详细设计 4
4.1功能模块划分 4
4.2 用户界面设计 5
4.2.1 歌曲列表面板 5
4.2.2 播放控制面板 8
4.2.3 搜索及展示面板 8
4.3 播放功能实现 9
4.3.1播放歌曲 9
4.3.2 暂停及继续播放 11
4.3.3 音量控制 12
4.3.4 播放模式 12
4.3.5 时间进度条 13
4.4 歌词展示实现 14
4.4.1 加载歌词文件 14
4.4.2 解析歌词文件 14
4.4.3 展示歌词 15
4.5 搜索网络歌曲资源 16
4.5.1 获取HTML文本 16
4.5.2 解析HTML文本 18
4.5.3 抓取数据描述 20
4.6 网络歌曲资源处理 20
4.6.1 歌曲资源的载体 20
4.6.2 歌曲资源的操作 24
4.7 程序内置的游戏 26
4.7.1 2048 26
4.7.2 贪吃蛇 27
4.7.3 五子棋 27
5程序运行 28
6 实验小结 30
1 程序功能描述
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。udiotagger :
开源项目Jaudiotagger提供一个Java类库用于编辑音频文件的tag信息(附有此音频的歌手、标题、专辑、音轨长度等的信息)。
引用:jaudiotagger-2.0.3.jar
4)Jsoup :
Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的APIubstance:
Swing自带提供了几种look and feel类,然而要设计一个非常精美的GUI界面,却相当麻烦。使用java substance可以很简单地实现。Substance里面有很多现成的非常漂亮的皮肤。
引用:substance.jar
4 详细设计
4.1功能模块划分
按结构化设计方法,划分出四个功能模块:歌曲列表、播放控制、搜索及音乐库。此四个模块正好对应酷狗用户界面的四部分。
酷狗音乐播放器如下:
Figure 4.1.1 Kugou
程序构建的包
main:主入口
ui、ui.tool:用户界面及其使用的一些工具类
song:包含有歌曲、歌词信息的类
player:播放相关的类
search:搜索相关的类
程序结构图如下:
Figure 4.1.2 程序结构图
4.2 用户界面设计
窗体(Frame):窗体初始大小为975*670;内容面板(ContentPane)由播放面板(PlayPanel)、歌曲列表面板(PlayListPanel)、搜索面板(SearchPanel)、展示面板(ShowPanel)构成,内容面板的布局采用的是BoxLayout+Box,PlayListPanel和SearchPanel对应都绑定了一个工具条(ButtonToolBar)
程序引用了外包Substance 设计观感
4.2.1 歌曲列表面板
PlayListPanel由一个工具条(ButtonToolBar extends JToolBar)、JPanel构成,其中JPanel采用CardLayout布局,JPanel加入了3个歌曲列表面板(SongListPanel extends JScrollPanel)、1个应用面板(JScrollPanel)利用工具条的按钮切换显示面板
Figure 4.2.1 1 歌曲目录
歌曲列表面板(SongListPanel)-列表的实现:
利用JTree实现二级目录。顾名思义,JTree是树状元件,它由众多节点构成,其中JTree需要一个根节点(root)。关于节点,我们用可派生节点DefaultMutableTreeNode类(implements TreeNode ) 即这种节点可以做“树干”也可以做“叶子”
1)利用一个节点构建一个JTree,该节点为根节点,即一级节点
其实我们要实现的歌曲列表是3级节点:根节点、歌曲目录、歌曲文件,这里我们需要隐藏点根节点:tree.setRootVisible(false); 否则我们将看到3层目录
2)根节点加入节点歌曲目录节点(rootNode.add(aNode))
第2级节点为歌曲目录,可派生歌曲节点:节点(TreeNode)的其中一个构造器是接受Object对象userObject
JTree是以节点的toString方法返回的字符串显示节点,而节点的toString是由UserObjcet的toString决定,所以用String来构建歌曲目录节点即可
3)歌曲目录节点应该有一个计算当前歌曲数目并在目录中显示的方法
目录节点计算其的子节点数,并更新到目录名
4
您可能关注的文档
最近下载
- 水泥厂余热锅炉调试报告.pdf VIP
- 2024-2025年中国铁氧体软磁材料行业市场调查研究及投资前景预测报告.docx
- 2025秋统编版(2024)小学道德与法治三年级上册(全册)课时练习及答案(附目录).docx
- 我眼中的中国平安.docx VIP
- 公路工程沥青新旧试验规程差异对比解读-JTG 3410-2025.pdf VIP
- 《气体传感器简介》课件.pptx VIP
- 自治区矿产资源开发利用与生态保护修复方案编制提纲(试行).doc VIP
- 粘贴钢板加固施工方案.docx VIP
- 碳排放权交易有关会计处理暂行规定(2025).docx VIP
- Fisher阀门结构与维护.ppt VIP
文档评论(0)