《音频播放器设计JAVA课程设计报告》.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java课程设计报告 题目: 清风播放器 姓名: 于新哲 学号: 1106840642 起止时间: 2013.3.11~2013.3.30 自评成绩: 良好 理由: 程序实现了多类音频文件的播放功能,界面标准且操作简便。基本功能都能实现,可以充当同类的音乐播放软件。 【选题背景】: 自己对音乐视频软件的兴趣比较大,所以选择了音乐播放器软件进行编程。为以后相应的方面做一些准备工作。 【选题目的】: 希望以后能使用自己和同学都能用到自己设计的媒体播放软件。并且通过课设来掌握更多java语言的更多知识,锻炼编程能力。 【系统分析与设计】: 媒体播放软件主要实现音频视频的播放功能,并且在界面上放置按钮来控制对文件播放的操作。(可以适当加入数据库的操作来实现更多功能) 【课程设计中碰到的问题及解决方案】: 1)界面布局:由于需要控制播放的很多,如暂停、停止等,所以不仅提供了菜单操作按钮,还加入了时间轴来控制。 2)文件读取:文件读取时系统提供了两种不同的方法和界面,各有利弊。所以加入了换肤的功能,在不同的皮肤下使用不同的读取文件方法。 3)实现暂停:由于JMF中对于Player的基本操作函数只有Player.start();和Player.stop();所以要借助系统架包中的时间轴来实现时间帧的读取,以实现媒体文件的暂停功能。 4)数据库链接:由于要实现最近播放列表的功能,所以要借助于数据库的操作,因此要用到JDBC的功能,对数据库进行相应的操作。 5)播放列表:对于读取的媒体文件要在播放列表中进行显示及部分操作,所以运用了JList的功能,构建一个有三个私有成员变量来储存序号,地址和显示的文件名,并在JList中提供相应的操作,如双击播放等。 6)界面优化:由于初始的按钮菜单和列表的影响,只能进行部分的优化,如加入背景图片,运用JPanel等组件完成界面的优化。 7)播放次序:菜单栏提供了播放次序的选项,有Order、Random、Single三种,具体算法是利用文件序号,系统Random等进行处理。 【程序输出结果】: 日历标记和用户所记录的事情。 【总结自己的体会和收获】: Java的课设真是花费了很多的时间,尤其是开始做了才知道只有界面的设计和功能实现是可以直接做到的,而类似于媒体的播放和控制等等都是要用JMF架包中的功能函数来实现的,所以要用很长的时间在网上和书上来了解很多函数的功能和代码。而借助着书籍和网上各种大神的提示,我也一步一步完成着课设的制作。过程中不仅遇到了各种各样的问题,还面对着有些问题根本就不知道是为什么的状况,边做边改,所以很多开始规划的功能没有得以实现,如各种视频格式的播放等。但过程中我也学到了很多的知识,对于一款软件的开发流程也有了更直观和深刻的了解和认识。另外对于java中JMF的运用也有了更多的体会。在开发过程中也学到了很多编程中的小技巧来减少代码的长度和功能的实现难度,这些都是只有参与亲身开发之后才有的心得与体会。 总之,这次的课设让我对java有了新的认识,也锻炼了自己的java编程能力。 【程序代码另附】: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.*; import java.net.*; import java.util.*; import java.util.List; import sun.audio.*; import javax.imageio.ImageIO; import javax.media.*; import com.dialog.*; import com.sun.media.ui.ProgressBar; import com.util.*; import com.media.jdbc.*; import java.awt.BorderLayout; public class MyMedia extends JFrame implements ActionListener,ControllerListener, Runnable { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JLabel jlabelbackground,listbackground; private Player play = null; private J

文档评论(0)

shashan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档