- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
音乐播放器概要
软件课程设计实验报告
课 题: 音乐播放器软件
班 级:通信工程1202班
作 者: 卢宇鸣
学 号: u201213574
指导老师: 许毅平
课设评价:
课设成绩:
一、需求分析
1、课题描述
描述:基于WINDOWS的音乐播放器软件,实现音乐库的管理和播放功能。
2、软件基本要求
有图形界面;
提供基本播放功能:播放、暂停、快进、快退、停止;
支持播放模式:单曲播放、单曲循环、顺序播放和随机播放;
支持播放信息显示:歌曲名、播放时间;
支持播放列表管理:歌曲增加、歌曲删除、歌曲播放次序调整。
3、拓展要求
支持歌词显示和同步播放;
支持本地歌曲搜索和管理;
均衡器管理:支持不同风格的音乐模式播放;
自动记忆播放功能(程序关闭时能记忆当前播放的歌曲,重启后继续播放);
提供更良好的操作界面;
其他功能。
设计目标
使用JAVA语言设计开发一个基于JMF的音乐播放器,有基本的图形界面,尽量做到美观,提供基本的播放功能如播放、暂停、快进、快退、停止,能借助拖动进度条来控制播放,支持4种播放模式,即单曲播放、单曲循环、顺序播放和随机播放。支持播放信息显示,将窗口名显示为当前正在播放的歌曲的名称,显示播放时间。支持播放列表的管理,添加歌曲,删除歌曲,删除列表。
预期添加功能:能够同步显示歌词,并且能够让用户根据个人喜好来改变歌词显示字体。能够联网搜索下载歌曲及歌词,能够分享自己的歌单给QQ好友。能够依靠麦克风提供歌曲录制保存功能。能够更换播放器皮肤。
总体方案设计说明
1.系统框图
2.软件各模块说明
歌曲播放控制模块:歌曲的播放、暂停、下一曲、上一曲等功能。
图形模块:主界面,进度条、音量条、各控制按钮,图片背景,皮肤变换。
歌词模块:歌词显示,歌词同步,歌词字体设置。
播放列表模块:添加歌曲、删除歌曲、删除列表,将播放列表生成TXT文件存储。
其中图形模块中各个按钮调用了播放控制模块所写的函数,播放歌曲时播放模块根据播放列表模块中选中歌曲的序号来播放,歌词模块根据播放模块中播放的歌曲名称来匹配歌词,通过歌曲播放的时间参数来实现歌词同步。
3.开发平台及工具
JDK,JAVA Media Framework(JMF),Eclipse编译器。
选择依据:
由于Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。所以选用JAVA语言来编写音乐播放器。
JMF实际上是Java的一个类包。JMF 2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支 持,如M-JPEG、H.263、MP3、RTP/RTSP (实时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
三、详细设计说明
1.歌词显示模块
JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
new JScrollPane(playerList), linePanel);
jsp.setOneTouchExpandable(true);
jsp.setAutoscrolls(true);
jsp.setToolTipText(歌词);
使用Swing 中的JSplitPane.HORIZONTAL_SPLIT将中间的面板分割成两部分,左边为播放列表,右边为歌词显示。
super.
文档评论(0)