《jk音乐播放器-课程设计报告》由会员分享,可在线阅读,更多相关《jk音乐播放器-课程设计报告(18页珍藏版)》请在金锄头文库上搜索。
1、广东技术师范学院天河学院Java 程序设计课程设计报告题 目:音乐播放器设 计 者 :陈东伟 蔡玮钺 李旺明专业班级:本计科 131学 号:201304154310520130415431022013041543117指导教师:孔令美所属系部:计算机科学与技术系2014年 12 月 31 日目录摘 要 .31设计内容 .42 分析与设计 .42.1功能模块划分 .42.2系统中各个操作的描述 .53总体设计 .104 源代码 .115总结 .18参考文献 .18摘 要在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。近年来听音乐已成为人们生活的一部分,与此同时,音乐播放器也日趋普及
2、,这大大丰富了业余生活,也缓解了工作压力。文章对目前使用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能,并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。这个音乐播放器是一个基于 Java Application 来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了 Java 技术和 Application 的工作原理,最后说明系统需要实现的功能。关键词:Java 软件;Application;音频播放器 1设计内容能够实现简单的音乐播放器功能,如:播放,停止,上一曲,下一曲,循环播放等等。一个简单的基于 ja
3、va 语言的音乐播放器,界面按钮:播放,停止,上一曲,下一曲,循环播放;播放列表:能够查看到里面所包含的歌曲目录。当播放歌曲时,可以查看当前播放音乐的相关属性,如:歌曲名;歌词表:显示所播放歌曲的歌词。2 分析与设计2.1功能模块划分(1)音乐播放器界面音乐播放器界面主要包括:播放,停止,上一曲,下一曲,循环播放等按键,播放列表和歌词表,如下图所示:图 2-1 音乐播放器界面(2)播放列表当在用户单击播放列表的选项按钮,打开播放列表,在此界面中可选择歌曲。如下图所示:图 2-2 播放列表(3)歌词表用户选择歌曲后,显示出歌曲的歌词,如下图所示:图 2-3 歌词表2.2系统中各个操作的描述(1)
4、播放当单击操作界面中的“播放”按钮时,所选歌曲开始播放,并显示正在播放。如下面截图所示:图 2-6 播放(2)停止当单击操作界面中的“停止”按钮时,停止播放歌曲,并显示已停止播放。如下面截图所示:图 2-7 停止(3)上一曲当单击收入界面中的“上一曲”按钮时,停止原来所播放的歌曲,播放上一首歌曲,并显示已经选择上一曲。如下面截图所示:图 2-8 上一曲(4)下一曲当单击操作界面中的“下一曲”按钮时,停止原来所播放的歌曲,播放下一首歌曲,并显示已经选择下一曲。如下面截图所示:图 2-9 下一曲(5)循环播放当单击支出界面中的“循环播放”按钮时,所播放的歌曲将一直播放,直到用户进行其他操作,并显示
5、正在循环播放。如下面截图所示:图 2-10 循环播放3总体设计整个设计包含了简单的播放器界面,根据用户需求设置了五个简单的实现基本操作的按钮,分别是:播放,停止,上一曲,下一曲,循环播放;根据具体的操作还包含了一个歌曲列表,用来选择播放的歌曲;一个显示歌曲歌词的显示框,显示所播放歌曲的歌词。该音乐播放器设置了一个简单的播放界面,运行程序时打开播放界面,用户可以根据自己的需求播放想听的歌曲,用户可以在音乐播放窗口里面进行相关的音乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:播放:播放所选歌曲,停止:停止播放所选的歌曲,上一曲:播放上一首歌曲,下一曲:播放下一首歌曲,循
6、环播放:,所播放的歌曲将一直播放,直到用户进行其他操作。由于设计的能力不足,歌曲的添加和歌曲的添加需要在代码中的相应位置自行添加,否则播放器只能进行内置歌曲,歌词的播放与显示。4 源代码package MusicPlayer;import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import java.applet.*;import java.io.*;import java.applet.AudioClip;public class MusicPlayer extends Applet impleme
7、nts ActionListener public static void main(String args) MusicPlayer that = new MusicPlayer();JFrame frame;JLabel playL, stopL, nextL, lastL, chooseL, loopL, lrcL;/ 页面上的 Jlabel 组件JTextArea ta;/ 界面上显示歌词的组件JComboBox choose;/ 界面上选择歌曲名称的组件JFileChooser mc;JButton play, stop, next, last, loop, open;/ 页面上的按
8、钮组件/ 在歌曲列表中预设三首歌String musicList = newyear.mid,风中有朵雨做的云.wav,浮夸.wav,宫崎骏 - 天空之城.wav ;URL music1, music2, music3,music4;AudioClip sound1, sound2, sound3,sound4;AudioClip chooseClip;boolean looping;/ 是否循环播放public MusicPlayer() frame = new JFrame(JK 音乐播放器);ta = new JTextArea();/ 界面上显示歌词的组件mc = new JFileC
9、hooser();/ 在歌曲列表中预设三首歌URL music1 = getClass().getResource(musicList0);URL music2 = getClass().getResource(musicList1);URL music3 = getClass().getResource(musicList2);URL music4 = getClass().getResource(musicList3);sound1 = newAudioClip(music1);/ 将歌曲资源封装为 AudioClip 对象sound2 = newAudioClip(music2);sou
10、nd3 = newAudioClip(music3);sound4 = newAudioClip(music4);chooseClip = sound2;looping = false;/ 是否循环播放ta.setEditable(false);ta.setBackground(Color.cyan);/ 设置显示歌词的 ta 组件的背景色Font font = new Font(TimeNew roman, Font.PLAIN, 14);ta.setFont(font);/ 设置显示歌词的字体choose = new JComboBox(musicList);/ 将歌曲名放入 Jcombo
11、Box 组件中choose.setEditable(false);choose.setSelectedIndex(0);/ 初始选择组合列表中第 0 首歌choose.addActionListener(this);/ 为组合列表添加侦听事件JScrollPane jsp = new JScrollPane(ta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);playL = new JLabel(播放);playL.setForeground(Color.blue);st
12、opL = new JLabel(停止);stopL.setForeground(Color.blue);lastL = new JLabel(上一曲);lastL.setForeground(Color.blue);nextL = new JLabel(下一曲);nextL.setForeground(Color.blue);loopL = new JLabel(循环播放);loopL.setForeground(Color.blue);chooseL = new JLabel(选择播放文件);chooseL.setForeground(Color.blue);lrcL = new JLabel(歌词: );lrcL.setForeground(Color.blue);last = new JButton(new ImageIcon(pr