当前位置:文档之家› JAVA带面板的视频播放器制作课程设计

JAVA带面板的视频播放器制作课程设计

学号:201017010227

姓名:朱林

同组成员: 李伟

指导教师: 唐石

目录

第1章课程设计的目的和意义 (3)

1.1 设计目的 (3)

1.2 设计意义 (3)

第2章课程设计要求 (3)

第3章需求分析 (4)

第4章程序设计过程 (5)

4.1 实验原理 (5)

4.2 程序设计图 (6)

4.3 设计及核心代码 (7)

第5章系统测试 (15)

第6章心得体会 (19)

第7章参考文献 (20)

第1章课程设计的目的和意义

1.1 设计目的

1.训练掌握,加深理解并巩固《java语言程序设计》课程中所学到的基本概念、编程思路以及语法知识

2.综合运用java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题

3.培育分析问题解决问题的能力,进一步提高并巩固进行大型程序设计的能力

4.提高学生实践论文撰写能力

1.2 设计意义

java 是一种高级编程语言,是编程的基本工具,是为软件开发,网页制作等与计算机编程有关专业的基础课程!学好java语言程序设计对计算机专业的人来说必不可少的一件事,对大学生将来进入软件行业从事java软件开发有着不可替代的作用,为大学生提供了一种锻炼自我勇于实践的能力,也提高大学生的动手能力,所以课程设计是相当的重要。

第2章课程设计要求

《Java程序设计》是计算机网络工程专业一门重要的专业必修课。为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设Java程序设计的课程设计。

课程设计的任务是完成课程设计内容,写出课程设计报告。

要求学生掌握:

1.掌握Java的语言规范,面向对象的核心概念和特性;

2.掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通

信程序等;

3.掌握Java应用软件的开发环境和开发过程;

4.掌握基于Jsp网站的开发环境和开发过程;

5.掌握面向对象的思想和程序设计方法。

第3章需求分析

3.1任务目的:

1.实现视频文件的正确播放;

2. 能够实现对视频播放的控制,如暂停,播放,快进,快退,上一个,下一个等功能;

3.能够进行文件视频的选择,全屏,音量的控制,拖动,播放模式的控制等;

4.任意改变播放视频界面大小等功能。

3.2程序的设计、调试、运行的软件环境:

操作系统:Windows XP(SP2)

数据库及数据库管理软件:SQL Server 2005

JDK环境:Java SE Development Kit(JDK)Version 6

开发工具:Eclipse

运行平台:Windows、Linux各个版本、MAC等任何平台

运行环境:Java SE Runtime Environment(JRE)Version

第4章程序设计过程

4.1实验原理

JMF提供了一个平台无关的框架来呈现时基媒体(time-based media)。JavaMediaPlayerAPI的设计目标是支持多种标准的媒体格式,包括

MPEG-1,MPEG-2,QuickTime,AVI,WAV,AU和MIDI.使用JMF,可以同步呈现不同来源的时基媒体。

现有的一些媒体播放器都严重依赖原生码来执行解压缩、渲染等计算密集型任务。而JMF API则隐藏了具体实现,只提供抽象的编程接口。

举例来说,一个用JMF制作的播放器,具体运行的过程中可能会调用到操作系统的本地方法,但开发者写代码时可以无视本地方法的存在。

JMF Player API :

?接入不同的协议和分发(传输)机制

?接入不同的媒体数据类型

定义事件模型,用于Player和应用程序间的异步通信

JMF对于errors(错误)和exceptions(异常)作如下约定。

?Java Media Errors 是当程序调用了一个当前状态下非法的方法时抛出的。Errors是在外部程序有控制权的状态下执行了非法的请求而抛出的。

举例来说,调用一个处于Started的Player的方法时抛出的就是error。

开发者有责任在调用方法前确认Player已被停止。JMF error是可以通

过优化代码来避免的,应用程序不应该捕获JMF errors, 好的应用程序

不会碰到这些错误。

?Java Media Exceptions是当程序调用了不能完成的方法或在当前状态下不适用的方法。Exceptions是在外部程序没有控制权的状态下抛出的。

例如当我们试图同步两个time-base不匹配的Player时,就会抛出异常。

之所以是异常而不是错误,是因为我们无从检测time-base是否匹配,是无法预期的。

有时,JMF的一些方法会返回非预期的结果,通过检查返回直,我们可以检测实际发生的事情:

?我们可以通过返回直检查实际被设置的数值,例如:并不是所有的播放器都可以每周期5次的速率呈现媒体数据,如果我们调了setRate(5.0),

播放器将会设置一个合法的近似直,这个数值可能是5.0也可能是1.0,

我们需要检查返回数据来确认被设置的数据。

?有时,我们请求的信息是不可用的。例如:Player在播完一个媒体之前,可能不知道媒体的时长,这时如果我们调了getDuration(),getDuration 会返回DURATION_UNKNOWN.当媒体被播放完一次,再调getDuration时,则会返回正确的时长。

4.2程序设计图

4.3设计及核心代码

创建“文件”菜单

●创建“打开”菜单

●把JMFMediaPlayer对象注册成功为“打开”菜单项动作事件的监听器●把“打开”菜单项加入“文件”菜单

●把“文件”菜单中加入一条水平分隔线

●创建带检查框的“循环”菜单项

●把JMFMediaPlayer对象注册成功为“循环”菜单项动作事件的监听器●把“循环”菜单项加入“文件”菜单

●在“文件”菜单项中加入一条水平分隔线

●按照创建“打开”菜单项的过程,创建“退出”菜单项

●创建“播放”菜单

●创建“上一个”菜单

●创建“下一个”菜单项

●创建“保存”菜单

●把JMFMediaPlayer对象注册成功为“暂停”菜单项动作事件的监听器●把“暂停”菜单项加入“设置”菜单

●在“设置”菜单中加入一条水平分隔线

●创建“删除”菜单项

●把JMFMediaPlayer对象注册成功为“删除”菜单项动作事件的监听器●创建一个菜单条(MenuBar)

●把“文件”菜单加入到菜单条

●把“播放控制”菜单加入到菜单条

●把“播放列表”菜单加入到菜单条

// 创建播放器的菜单

JMenu zhu= new JMenu("设置");

JMenu fileMenu = new JMenu("文件");

JMenu zhu1= new JMenu("播放");

JMenu zhu2= new JMenu("上一个");

JMenu zhu3= new JMenu("下一个");

JMenuItem openMemuItem = new JMenuItem("打开");

JMenuItem haha1 = new JMenuItem("暂停");

JMenuItem haha2 = new JMenuItem("删除");

openMemuItem.addActionListener(this);

fileMenu.add(openMemuItem);

zhu.add(haha1);

zhu.addSeparator();

zhu.add(haha2);

zhu.addSeparator();

zhu.add(haha3);

zhu.addSeparator();

zhu.add(haha4);

zhu.addSeparator();

zhu.add(haha5);

zhu.addSeparator();

// 添加一个分割条

fileMenu.addSeparator();

// 创建一个复选框菜单项

JCheckBoxMenuItem loopMenuItem = new JCheckBoxMenuItem("循环", false); loopMenuItem.addItemListener(this);

fileMenu.add(loopMenuItem);

fileMenu.addSeparator();

JMenuItem exitMemuItem = new JMenuItem("退出");

exitMemuItem.addActionListener(this);

fileMenu.add(exitMemuItem);

JMenuBar menuBar = new JMenuBar();

menuBar.add(fileMenu);

menuBar.add(zhu);

menuBar.add(zhu1);

menuBar.add(zhu2);

menuBar.add(zhu3);

this.setJMenuBar(menuBar);

this.setSize(200, 200);

try {

// 设置界面的外观,为系统外观

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); SwingUtilities.updateComponentTreeUI(this);

} catch (Exception e) {

e.printStackTrace();

}

this.setVisible(true);

}

动作监听器

动作监听器根据用户的操作作出相应的反应

(1)如果动作事件起源于“退出”菜单项,触发一个给查监听器的窗口关闭事件

(2)如果动作事件起源于“播放“菜单项,判断当前是否存在一个播放器,存在则将该播放器置于运动状态

(3)如果动作事件起源于“暂停”菜单项,判断当前是否存在一个播放器,存在则停止该播放器的播放

(4)如果动作事件起源于“下一个”菜单项,判断当前是否存在一个播放器,存在则停止该播放器的播放,并把播放指针移到下一个文件(5)如果动作事件起源于“打开”菜单,则:

●创建一个“打开媒体文件“对话框

●把对话框的当前目录设置为上次关闭时的目录

●显示对话框。这个对话框是一个模式对话框

●如果用户没有通过对话框选择媒体文件,则返回

(6)如果出现异常

●显示错误信息,然后返回

●把主窗口的标题设置为媒体文件的名字

●把JMFMediaPlayer对象注册为来自JMF播放器对象的控制器事件的监

听器

●让JMF播放器对象预先提取媒体内容

/**

* 实现了ActionListener接口,处理组件的活动事件

*/

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("退出")) {

// 调用dispose以便执行windowClosed

dispose();

return;

}

FileDialog fileDialog = new FileDialog(this, "打开媒体文件", FileDialog.LOAD);

fileDialog.setDirectory(currentDirectory);

fileDialog.setVisible(true);

// 如果用户放弃选择文件,则返回

if (fileDialog.getFile() == null){

return;

}

currentDirectory = fileDialog.getDirectory();

if (player != null){

// 关闭已经存在JMF播放器对象

player.close();

}

try {

// 创建一个打开选择文件的播放器

player = Manager.createPlayer(new MediaLocator("file:" + fileDialog.getDirectory() + fileDialog.getFile())); } catch (java.io.IOException e2) {

System.out.println(e2);

return;

} catch (NoPlayerException e2) {

System.out.println("不能找到播放器.");

return;

}

if (player == null) {

System.out.println("无法创建播放器.");

return;

}

first = false;

this.setTitle(fileDialog.getFile());

// 播放器的控制事件处理

player.addControllerListener(this);

// 预读文件内容

player.prefetch();

}

控制监听器

控制监听器完成与控制相关的操作,具体包括以下几种情况

(1)当控制器被关闭,如果JMF播放器的视觉部分存在,从JMFMediaPlayer容器拆除视觉部件。如果JMF播放器的控制面

板部件存在,从从JMFMediaPlayer容器拆除控制面板部件(2)当媒体回放结束,复位JMF播放器对象的开始时间。

(3)当预提取媒体内容结束,JMF播放器对象开始播放媒体

(4)当实例化(realize)完成,则

●获取JMF播放器对象的视觉部件,如果视觉部件存在,则把它加入到

JMFMediaPlayer容器的中间

●获取JMF播放器对象的控制面板部件,如果控制面板部件存在,则把它

加入到JMFMediaPlayer容器的下方

●获取JMF播放器对象的扩展控制面板部件,如果扩展控制面板部件存

在,则把它加入到JMFMediaPlayer容器的上方

●如果播放中含有图形,执行pack()操作

* 实现ControllerListener接口的方法,处理播放器的控制事件

*/

public void controllerUpdate(ControllerEvent e) {

// 调用player.close()时ControllerClosedEvent事件出现。

// 如果存在视觉部件,则该部件应该拆除(为一致起见,

// 我们对控制面板部件也执行同样的操作)

if (e instanceof ControllerClosedEvent) {

if (vedioComponent != null) {

this.getContentPane().remove(vedioComponent);

this.vedioComponent = null;

}

if (controlComponent != null) {

this.getContentPane().remove(controlComponent);

this.controlComponent = null;

}

return;

}

// 如果是媒体文件到达尾部事件

if (e instanceof EndOfMediaEvent) {

if (loop) {

// 如果允许循环,则重新开始播放

player.setMediaTime(new Time(0));

player.start();

}

return;

}

// 如果是播放器预读事件

if (e instanceof PrefetchCompleteEvent) {

// 启动播放器

player.start();

return;

}

// 如果是文件打开完全事件,则显示视频组件和控制器组件

if (e instanceof RealizeCompleteEvent) {

vedioComponent = player.getVisualComponent();

if (vedioComponent != null){

this.getContentPane().add(vedioComponent);

}

controlComponent = player.getControlPanelComponent();

if (controlComponent != null){

this.getContentPane().add(controlComponent, BorderLayout.SOUTH); }

this.pack();

}

}

其他监听器

1.菜单项监听器

菜单项监听器主要针对“循环”菜单项的单击动作进行反应

当菜单项状态改变时,切换“循环”菜单被选中的状态

2.窗口监听器

值得注意的是窗口监听器是在构造函数中进行定义和注册的,这一点不同于以上介绍的其他方法,它只是在退出窗口时执行。

定窗口大小,并显示控制器

// 处理“循环”复选框菜单项的点击事件

public class Zhu extends JFrame implements ActionListener, ControllerListener, ItemListener {

// JMF的播放器

Player player;

// 播放器的视频组件和控制组件

Component vedioComponent;

Component controlComponent;

// 标示是否是第一次打开播放器

boolean first = true;

// 标示是否需要循环

boolean loop = false;

// 文件当前目录

String currentDirectory;

// 构造方法

public Zhu(String title) {

super(title);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){

// 用户点击窗口系统菜单的关闭按钮

// 调用dispose以执行windowClosed

dispose();

}

public void windowClosed(WindowEvent e){

if (player != null){

// 关闭JMF播放器对象

player.close();

}

System.exit(0);

}

});

public void itemStateChanged(ItemEvent e) {

loop = !loop;

}

第5章系统测试

1.测试视频文件

我们首先来播放一个视频,以《铁拳:血之复仇》为例,视频格式为AVI格式,以下为视频截图

2.测试音频文件

下面来测试一下播放音频文件,以《本兮:情花》为例,此音乐文件的格式为WAV

3.最终结果

通过上面的实例测试,我们可以看出,由于java 的JMF的缘故,java视频播放器支持的视频格式文件不是很多,像目前网上常见的3GP,RMVB,DVD,WMV,MPEG4等格式均不支持,但是AVI格式却是支持的;同时,在音频文件方面也存在着同样的问题,比如说目前市面上常见的MP3格式,由于部分原因,此视频播放器不能够正常播放,但是对于WAV格式的音乐来说则不存在这些问题。

第6章心得体会

这次课程设计我做的是带面板的视频播放器的制作,主要是服务于学生进行阶段性自测和练习。播放器的制作分为设计和测试两部分,每一部分又各分若干专题。虽然播放器的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。这个播放器主要是我和队友一起开发的,但也得到了老师和同学的很大帮助。我在做播放器的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功能,离不开老师和同学的大力相助。事实证明,

只靠自己是不能顺利设计完成一个功能完整的播放器的,必须充分利用团队的力量。

开发设计一个播放器,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到播放器的功能和用途,不管做什么设计,只用运用到实际应用中,才具有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。

通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程

第7章参考文献

李尊朝,苏军. 《Java语言程序设计》(第二版)[M]. 北京:中国铁道出版社,2007

庞永庆,庞丽娟等. 《 21天学通java》(第一版)[M]. 北京:电子工业出版社,2009-1-1

(美)埃克尔著陈昊鹏译 . 《Think in java》(第4版)[M]. 北京:机械工业出版社2007-6-1

李钟尉. 《Java范例完全自学手册》[M]. 北京: 人民邮电出版社,2009-10

基于labview的音乐播放器设计

成绩: 《虚拟仪器技术及应用》 课 程 设 计 题目:基于LabVIEW的音乐播放器程序设计 学期:2013~2014学年第一学期 指导教师: 姓名: 学号: 年级、专业:

目录

基于LabVIEW的MP3程序设计 1程序设计背景 MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。 MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。 经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。 2程序设计思路 2.1程序整体设计思路 该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex,属性节点,调用节点,Eventstructure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。 2.2程序流程设计 程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。 本程序主要涉及到一下控件或结构的使用: (1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.doczj.com/doc/5e18810409.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

音频功率放大器课程设计

本电路设计采用前置放大电路和音频功率放大电路相结合的放大模式,前者采用TL072对电压进行放大,后者采用性能优良的TDA2616对电压和电流放大,给音响放大器的负载(扬声器)提供一定的输出功率。当负载一定时,希望输出的功率尽可能大,输出的信号的非线形失真尽可能的小,效率尽可能的高。在前置放大和功放之间加上一个滑动变阻,就保证了音量可调,在滑动变阻器之前再加上一足够大电阻,这样保证了信号不失真。除此之外,加上相应的旁路电容又使得电路具有杂音小,有电源退偶,无自激等优点。根据实例电路图和已经给定的原件参数,使用multisim11软件模拟电路,并对其进行静态分析,动态分析,显示波形图,计算数据等操作。 关键词: TL072 TDA2616 性能优良音量可调杂音小 目录 1 设计任务和要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 2 系统设计 (3) 2.1系统要求 (3) 2.2方案设计 (3) 2.3系统工作原理 (4) 3 单元电路设计 (6) 3.1前置放大电路 (6) 3.1.1电路结构及工作原理 (6) 3.1.2元器件的选择及参数确定 (9) 3.1.3 前级放大电路仿真 (10) 3.2后级放大部分 (10) 3.2.1电路结构及工作原理 (12) 3.2.2电路仿真 (13) 3.2.3元器件的选择及参数确定 (15) 3.3音源选择电路 (15) 3.3.1电路结构及工作原理 (15) 3.3.2电路仿真 (16) 3.3.3元器件的选择及参数确定 (16) 3.4电源 (17) 4系统仿真 (20) 5 电路安装、调试与测试 (21) 5.1电路安装 (21) 5.2电路调试 (23) 5.3系统功能及性能测试 (23)

java视频播放器源代码

import java.awt.*; import java.io.*; import java.util.*; import javax.media.*; import javax.media.format.*; import javax.swing.*; public class VideoPlayer implements ControllerListener { Vector audioCapDevList = null; Vector videoCapDevList = null; CaptureDeviceInfo audioCapDevInfo = null; CaptureDeviceInfo videoCapDevInfo = null; MediaLocator audioCapDevLoc = null; MediaLocator videoCapDevLoc = null; Player audioPlayer; Player videoPlayer; public void initAudioCapDevLoc() { //这里可以填写其它的音频编码格式,具体请看AudioFormat类 audioCapDevList = CaptureDeviceManager.getDeviceList(new AudioFormat( AudioFormat.LINEAR)); if ((audioCapDevList.size() > 0)) { //或许有几个CaptureDevice,这里取第一个 audioCapDevInfo = (CaptureDeviceInfo) audioCapDevList.elementAt(0); audioCapDevLoc = audioCapDevInfo.getLocator(); } else { System.out.println("找不到音频采集设备"); System.exit(0); } } public void initVideoCapDevLoc() { //这里可以填写其它的编码视频格式,具体请看VideoFormat类 videoCapDevList = CaptureDeviceManager.getDeviceList(new VideoFormat( VideoFormat.YUV)); if ((videoCapDevList.size() > 0)) {

音乐播放器(VB编程源代码)

音乐播放器设计一、先来欣赏一下本音乐播放器的最终效果吧:

设计思路很简单,即下面两个窗体的设计。 二、主窗体(form1)界面设计如下: 主窗体(form1)代码如下: Dim t As Integer, a As Boolean Dim p As Integer, b, w As Boolean, one Private Sub allclear_Click() '清空播放列表 List1.Clear

WMP1.currentPlaylist.Clear Form1.Caption = "无任何曲目" End Sub Private Sub allloop_Click() '全部循环播放 Timer3.Enabled = False allloop.Checked = True oneloop.Checked = False rand.Checked = False rule.Checked = False Call WMP1.settings.setMode("loop", True) End Sub Private Sub Form_Load() '初始化 Form1.Height = 7800 w = False allloop.Checked = False oneloop.Checked = False rand.Checked = False rule.Checked = True Label2.Caption = "00:00" '第一次打开时创建文件 If Dir("filepath.text") = "" And Dir("C:\music.txt") = "" Then Open "C:\filepath.txt" For Output As #1 Close #1 Open "C:\music.txt" For Output As #2 Close #2 End If '读取文件 Open "C:\filepath.txt" For Input As #1 Open "C:\music.txt" For Input As #2 Do While Not EOF(1) Input #1, X Input #2, Y If Dir(X) <> "" Then List1.AddItem (List1.ListCount + 1) & "." & Y Call WMP1.currentPlaylist.insertItem(WMP1.currentPlaylist.Count, WMP1.newMedia(X)) End If Loop

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.doczj.com/doc/5e18810409.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

模电音频功率放大器课程设计

课程设计报告 学生姓名:张浩学学号:201130903013 7 学 院:电气工程学院 班 级: 电自1116(实验111) 题 目: 模电音频功率放大电路设计 指导教师:张光烈职称: 2013 年 7月 4 日

1、设计题目:音频功率放大电路 2、设计任务目的与要求: 要求:设计并制作用晶体管和集成运算放大器组成的音频功率放大电路,负载为扬声器,阻抗8。 指标:频带宽50HZ~20kHZ,输出波形基本不失真;电路输出功率大于8W;输入灵敏度为100mV,输入阻抗不低于47KΩ。 模电这门课程主要讲了二极管,三极管,几种放大电路,信号运算与处理电路,正弦信号产生电路,直流稳压电源。功率放大器的作用是给音响放大器的负载RL(扬声器)提供一定的输出频率。当负载一定时,希望输出的功率尽可能大,输出的信号的非线性失真尽可能小,效率尽可能高。功率放大器的常见电路形式有OTL电路和OCL电路。有用继承运算放大器和晶体管组成的功率放大器,也有专集成电路功率放大器。本实验设计的是一个OTL功率放大器,该放大器采用复合管无输出耦合电容,并采用单电源供电。主要涉及了放大器的偏置电路克服交越失真,复合管的基本组合提高电路功率,交直流反馈电路,对称电路,并用multism软件对OTL 功率放大器进行仿真实现。根据电路图和给定的原件参数,使用multism 软件模拟电路,并对其进行静态分析,动态分析,显示波形图,计算数据等操作。 3、整体电路设计: ⑴方案比较: ①利用运放芯片 LM1875和各元器件组成音频功率放大电路,有保护电路,电源分别接+30v和-30v并且电源功率至少要50w,输出功率30w。 ②利用运放芯片TDA2030和各元器件组成音频功率放大电路,有保护电路,电源只需接+19v,另一端接地,负载是阻抗为8Ω的扬声器,输出功率大于8w。 通过比较,方案①的输出功率有30w,但其输入要求比较苛刻,添加了实验难度。而方案②的要求不高,并能满足设计要求,所以选取方案②来进行设计。 ⑵整体电路框图:

java视频播放器几种

package com.bird.jmf; import java.awt.*; import java.awt.event.*; import java.io.*; import https://www.doczj.com/doc/5e18810409.html,.*; import javax.swing.*; import javax.media.*; // 视频播放程序 public class VideoPlayDemo extends JFrame { private Player player; // 播放器对象 private Component visualMedia; // 视频显示组件 private Component mediaControl; // 视频播放控制组件 private Container container; // 主容器 private File mediaFile; //媒体文件 private URL fileURL; //媒体文件URL地址 public VideoPlayDemo() { // 构造函数 super("视频播放程序"); //调用父类构造函数 container = getContentPane(); //得到窗口容器 JToolBar toobar = new JToolBar(); //实例化工具栏 JButton openFile = new JButton("打开媒体文件"); //实例化按钮 toobar.add(openFile); //增加按钮到工具栏 JButton openURL = new JButton("打开网络地址"); toobar.add(openURL); container.add(toobar, BorderLayout.NORTH); //设置工具栏 openFile.addActionListener(new ActionListener() { //打开文件按钮事件处理 public void actionPerformed(ActionEvent event) { JFileChooser fileChooser = new JFileChooser(); //实例化文件选择器 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件打开模式为仅打开文件 int result = fileChooser.showOpenDialog(VideoPlayDemo.this);//显示对话框 if (result == JFileChooser.APPROVE_OPTION) { //得到用户行为 mediaFile = fileChooser.getSelectedFile(); //得到选择的文件 }

MP3音乐播放器软件课程设计报告(MFC)

课程设计说明书 课程设计名称:软件综合课程设计 课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院

电子信息工程专业课程设计任务书 正文: 目录 引言 (5) 一、设计程序的目的与要求 (6)

目的 (6) 要求 (6) 二、方案实现与调试 (6) 总体设计 (6) 1、实现功能 (6) 2、功能模块图 (7) 详细设计 (7) 1、界面布局 (7) 2、各模块功能设计 (8) 2.1处理“打开”按钮 (9) 2.2处理“播放”按钮 (9) 2.3处理“暂停”按钮 (9) 2.4处理“停止”按钮 (9) 2.5处理“音量”按钮 (10) 2.6处理“退出”按钮 (10) 3 操作步骤 (10) 三、课程设计分析与总结 (11) 分析 (11) 总结 (11) 附录 (13) 关键程序清单 (13)

参考文献 (20) 引言 MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。 1.1 MFC简介 MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。 1.2 MCI简介 MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类:import .*; public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon("d:\\"); private ImageIcon iconPre = new ImageIcon("d:\\"); private ImageIcon iconNext = new ImageIcon("d:\\"); private ImageIcon iconPause = new ImageIcon("d:\\"); public static void main(String[] args) { new MusicPlayer(); } public MusicPlayer() { init(); } public void init() { frame = new JFrame(); ("音乐播放器"); (400, 300); (false); (null); ; menubar = new JMenuBar(); menuFile = new JMenu("文件");

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

Java实现视频网站的视频上传及视频播放功能

视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash 制作的播放器来播放该文件.项目中用制作的播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。?? ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。 1.能支持的格式 ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 2.不能支持的格式 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg 能解析的)格式. 实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具. 数据库 实例所需要的数据库脚本 drop database if exists db_mediaplayer;create database db_mediaplayer;use db_mediaplayer; create table tb_media( id int not null primary key auto_increment comment '主键' , title varchar(50) not null comment '视频名称' , src varchar(200) not null comment '视频存放地址' , picture varchar(200) not null comment '视频截图' , descript varchar(400) comment '视频描述' , uptime varchar(40) comment '上传时间' );

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

音频放大器课程设计

电子课程设计 课程设计名称 : 电子课程设计 课程设计题目 : 音频放大器设计学院名称:工学院 班级:11级通信工程 学号:201101030119 姓名:陶媛 指导教师:朱家兴 2013年 8 月 25

摘要 进入21世纪以后,各种便携式的电子设备成为了电子设备的一种重要的发 展趋势。从作为通信工具的手机,到作为娱乐设备的MP3播放器,已经成为差不 多人人具备的便携式电子设备。在一些电子设备中,常常要求放大电路的输出级 能够带动较重负载,因而要求放大电路具有较高的效率,能够根据负载的要求提 供足够的输出功率。 本系统是基于三极管元件设计而成的一种音频放大器,由前置放大电路、 带通滤波电路、混频电路、电源电路四部分构成。前置放大电路主要由差分放大 电路构成,外加恒流源提供偏置,抑制电路的温漂,提高共模增益比。然后通过 由一个二阶压控电压源高通滤波器和一个二阶压控电压源低通滤波器构成的带 通滤波器,再接入一个混频电路(可加入背景音乐),最后通过电容耦合到功率 放大电路中除去了直流对后级放大电路的影响。混频电路由一个简单的加法器构 成。本次课程设计整个过程涉及到理论计算,电路板布局,焊接技术,电子仪器 的使用等一系列知识要点。 本方案使用MIC驻级体话筒收集人说话的微弱信号,并由话筒变成电信号,经过音频放大电路的多级放大,最后由耳机插座X2输出,输出的信号由外接的耳机 或扬声器发出声音 关键字:电子设备声音信号电信号放大 目录 前言 (1) 一、设计内容及要求 (2) 二、系统组成及工作原理 2.1 系统组成 (3) 2.2 工作原理 (4) 三、功率放大电路设计

《Java范例开发大全》

下面是377个Java的例子。如果你是牛人,看看你能做出多少? 如果有人不相信这些例子都是Java做的,可以看看清华大学的《Java范例开发大全》实例1开发第一个Java程序 实例2自动提升 实例3自动转换 实例4常用基础类型之强制转换 实例5算术运算符 实例6关系运算符 实例7逻辑运算符 实例8位运算符 实例9移位运算符 实例10转型运算符 实例11常量与变量 实例12各种进制的转换 实例13 Java中的进制与移位运算符 实例14判断输入的年份是否为闰年 实例15抽奖活动 实例16xx乘法表 实例17如何列出素数 实例18 Java中的递归 实例19男生女生各多少人

实例20求xx数 实例21求任意一个正数的阶乘 实例22求n的n次方 实例23利用for循环输出几何图形 实例24xx 实例25求1到100之间的和 实例26存上100元需要多少天 实例27输出100之间的所有偶数 实例28如何判断回文数字 实例29输出100之间的所有奇数 实例30求最大的随机数 实例31判断字母分类 实例32优良及差 实例33打印任意一年日历 实例34一年四季的划分 实例35除0发生的算术异常(ArithmeticException) 实例36数组下标越界异常(ArrayIndexOutOfBoundsException)实例37数组元素类型不匹配异常(ArrayStoreException) 实例38强制类型转换异常(ClassCastException) 实例39索引越界异常(IndexOutOfBoundsException) 实例40空指针异常(NullPointerException)

Java音频播放器详细设计说明书

JUST音频播放器 详细设计说明书 1、导言 1.1目的 本文档以《JUST音频播放器概要设计说明书》作为基准,对智能试题库的功能实现细节进行进一步的扩充。旨在具体介绍系统每一模块的实现设计以及模块间的接口实现设计,以便于后期系统的实现、测试、维护以及版本升级等。 1.2范围 本文档用于软件设计阶段的详细设计,它依据的基线是《JUST音频播放器概要设计说明书》,它的下游是源程序清单及单元测试计划,并为单元测试报告提供测试依据。 1.3术语定义 总体结构:软件系统的总体逻辑结构。本系统采用面向对象的设计方法设计系统。 概念数据模型:关系数据库的逻辑设计模型,主要表现为E-R图。 物理数据模型:关系数据库的物理设计模型。 1.4参考资料 【1】《JUST音频播放器需求规格说明书》。 【2】《软件工程实践教程》,赵池龙等编著,电子工业出版社,2007年1月。 【3】《UML参考手册》,(美)兰博等编著,机械工业出版社,2001年1月。 1.6相关文档 【1】《JUST音频播放器需求规格说明书》。 【2】《JUST音频播放器概要设计说明书》。 【3】《JUST音频播放器详细设计说明书》。 【4】源程序清单列表。 1.6版本更新记录 如表1-9所示。 表1-10 版本更新记录

2、系统设计与实现 2.1总体设计 根据《JUST音频播放器需求规格说明书》和《JUST音频播放器概要设计说明书》,并且播放器是通过媒体控制界面来实现所有功能,因此我们使用边界类,控制类和实体类来实现设计该系统;并利用日志文件和配置文件来保存播放器的信息。 2.1.1音频处理器子系统 播放器的基本控制类 这里使用了一个Java开源社区的项目的jlgui一个音频处理API javazoom.jlgui.basicplayer,它的类结构是 2.1.2播放器基本控制子系统 边界控制类

基于java的音乐播放器课程设计报告

Java课程设计报告题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师

1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加 多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控 制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面 添加歌曲之后才能够查看到里面所包含的歌曲目录。当播放歌曲时,可 以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属 性,如:歌曲名,歌手,发布时间,所属专辑等等。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以 随时了解歌曲的播放进度 2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设 置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获 取关于该歌曲的用户所需的相关信息。 4、菜单栏: ①文件: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想 听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序

②播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐 暂停:暂停当前正在播放的音乐 停止:停止当前正在播放的音乐 ③播放列表:当用户通过文件打开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制, 播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打 开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单 项,该菜单就是用来显示或者查看相应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设 置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个 音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音 乐播放窗口里面用户可以进行相关的音乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴:可以实现播放的前进、后退功能,根据用户需求调节音乐的 播放进度等;音量控制:设置静音,打开扬声器或者调节音量大小;播 放列表:查看当前播放音乐的相关属性。

相关主题
文本预览
相关文档 最新文档