【Java 课程设计实验报告】
学生姓名:吴荣光
指导老师:易文龙老师
实验名称:Java 播放器
概要设计说明书……………………………………2
详细设计说明书……………………………………7
[二 OO 九年九月六日]
1
概要设计说明书
1.引言
1.1 编写目的
本概要说明设计说明书是基于 Java 播放器的软件需求规格说明书编写的。有人的地方
就会有音乐,有音乐的地方就需要播放器。本播放器界面设计简单、合理,功能可以满足用
户要求。通过该播放器的开发,编者希望对上学期所学的 Java 语言程序知识进行梳理,并
因此促进软件开发的学习。
预期读者:
● 用户;
● 开发人员;
● 项目经理;
● 营销人员;
● 测试人员;
1.2 背景
软件名称:Java 播放器
● 任务提出者:老师
● 软件开发者:本人
● 产品使用者:本人
1.3 定义
//控制播放线程
//播放线程状态
//播放文件目录
//播放文件名称
MusicPlayer:定义的播放器类名,继承 Frame。
boolean isStop = true;
boolean hasStop = true;
String filepath;
String filename;
AudioInputStream audioInputStream; //文件流
AudioFormat audioFormat;
SourceDataLine sourceDataLine;
List list;//文件列表
Label labelfilepath;
Label labelfilename;
//文件格式
//输出设备
//播放目录显示标签
//播放文件显示标签
1.4 参考资料
● Java 程序设计教程与实验----清华大学出版社
● Eclipse 编程技术与实例-----人民邮电出版社
2
2.总体设计
2.1 需求规定
2.1.1 系统功能
完成音乐的插入、播放
2.1.2 系统性能
2.1.2.1 精度
无要求
2.1.2.2 时间特性要求
在 1000ms 内响应播放程序
2.1.2.4 可靠性
要求程序运行时可靠
2.1.2.5 灵活性
能完成既定功能即可
2.1.3 输入输出要求
要求插入的音乐格式只能为 mp3 或 wmv
2.1.4 数据管理能力要求
程序停止运行即关闭显示
2.1.5 故障处理要求
无
2.2 运行环境
JDk,内存 256M 以上,奔三以上 CPU
2.2.1 设备
主机一台、显示器、音箱
2.2.2 支持软件
Windows 操作系统、Eclipse 开发环境、JDK
2.2.3 接口
独立运行的简单程序,不与其他系统产生数据交换
2.2.4 控制
先用 Javac –d . MusicPlayer.java 编译程序
然后用 java com.test.audio.MusicPlayer 运行程序,在弹出的窗口中即可进行
操作。
2.3 基本设计概念和处理流程
处理流程:
2.4 结构
3
2.5 功能需求与系统模块的关系
2.6 人工处理过程
先用 Javac –d . MusicPlayer.java 编译程序
然后用 java com.test.audio.MusicPlayer 运行程序,在弹出的窗口中进行操作。
将文件导入视图,双击播放音乐
2.7 尚未解决的问题
对播放的音乐进行调制还没有解决
3.运行设计
3.1 运行模块组合
插入音乐:文件/打开模块
显示当前音乐路径:文件/打开模块,当前播放音乐
播放音乐:文件/打开模块,当前播放音乐,播放音乐
3.2 运行控制
插入音乐:执行文件/打开模块操作;
显示当前音乐路径:系统将自动完成;
播放 音乐: 执行文件/打开模块操作,双击要播放的音乐;
3.3 运行时间
插入音乐:文件/打开模块—>100ms
显示当前音乐路径:文件/打开模块,当前播放音乐400ms
播放音乐:文件/打开模块,当前播放音乐,播放音乐400ms
4.系统数据结构设计
45.1 逻辑结构设计要点
public class MusicPlayer extends Frame {
4
//属性、方法
boolean isStop = true;
boolean hasStop = true;
String filepath;
String filename;
AudioInputStream audioInputStream; //文件流
AudioFormat audioFormat;
SourceDataLine sourceDataLine;
List list;//文件列表
//控制播放线程
//播放线程状态
//播放文件目录
//播放文件名称
//文件格式
//输出设备
Label labelfilepath;
//播放目录显示标签
Label labelfilename;
//播放文件显示标签
public MusicPlayer() {}
menubar.add(menufile);
setMenuBar(menubar); //文件列表
list = new List(10);
list.addMouseListener(new MouseAdapter() {}
public void mouseClicked(MouseEvent e) {}
add(list, "Center");
Panel panel = new Panel(new GridLayout(2, 1));
labelfilepath = new Label("播放目录:");
labelfilename = new Label("播放文件:");
panel.add(labelfilepath);
panel.add(labelfilename);
add(panel, "North");
//注册窗体关闭事件
addWindowListener(new WindowAdapter() {}
public void windowClosing(WindowEvent e) {}
//播放
private void play() {}
public static void main(String args[]) {
new MusicPlayer();
}
class PlayThread extends Thread {}
5.系统出错处理设计
5.1 出错信息
硬盘损坏
其他硬件损坏
安装的软件崩
溃
5
5.2 补救措施
a. 后备技术:周期性地把磁盘信息记录到磁带上去。
6
详细设计说明书
1.引言
1.1 编写目的
本说明书通过将概要设计进行细化,把各个模块的实现方法一一都进行了实现。程序开
发人员在编程时通过阅读本说明书将很容易把握开发的步骤,具体实现的代码。
预期读者:
● 用户;
● 开发人员;
● 项目经理;
● 测试人员;
1.2 背景
● 名称:Java 播放器
● 任务提出者:老师
● 软件开发者:本人
● 产品使用者:本人
1.3 定义
//控制播放线程
//播放线程状态
//播放文件目录
//播放文件名称
MusicPlayer:定义的播放器类名,继承 Frame。
boolean isStop = true;
boolean hasStop = true;
String filepath;
String filename;
AudioInputStream audioInputStream; //文件流
AudioFormat audioFormat;
SourceDataLine sourceDataLine;
List list;//文件列表
Label labelfilepath;
Label labelfilename;
//文件格式
//输出设备
//播放目录显示标签
//播放文件显示标签
1.4 参考资料
● Java 程序设计教程与实验----清华大学出版社
● Eclipse 编程技术与实例-----人民邮电出版社
2. 系统的结构
7
3.“文件/打开”模块(标识符)设计说明
3.1 模块描述
用户通过选择“文件”—>“打开”命令,找到音乐所在的位置。然后调用 List 函数将
所需音乐更新到“播放文件”列表中。
3.2 功能
该模块应该要能完成上述的。
3.3 性能
能正确导入相应的音乐文件。
3.4 输入项
用户单击选中所要播放的文件。
3.5 输出项
要播放的音乐文件列表,在“播放文件”Label 下显示。
3.6 设计方法(算法)
public MusicPlayer() {
//设置窗体属性
setLayout(new BorderLayout());
setTitle("MP3 音乐播放器");
setSize(350, 370);
//建立菜单栏
MenuBar menubar = new MenuBar();
Menu menufile = new Menu("文件");
MenuItem menuopen = new MenuItem("打开", new MenuShortcut(KeyEvent.VK_O));
menufile.add(menuopen);
menufile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
open();
});
}
8