搜档网
当前位置:搜档网 › 一个简单的音乐播放器的java代码

一个简单的音乐播放器的java代码

一个简单的音乐播放器的java代码
一个简单的音乐播放器的java代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

import javax.media.bean.playerbean.*;

import java.io.IOException;

import javax.swing.JOptionPane;

import java.awt.*;

public class lyt extends JFrame implements Runnable { public MediaPlayer soumd1;

private JButton playSound, stopsound, tjian,loopSound; private JMenuItem jmiOpen,jmiSave,jmiExit,jmiAbout; public JPanel jp1, jp2, jp3, jp4;

public JList jl;

private JButton last, next, stop;

public Vector vector, mingcheng;

boolean fo = false, geshi = false;

JLabel jl1, jl2, sj1, sj2;

JTextField jt1, jt2;

int a = 0, b = 0, you = 1, mm = 0;

public lyt() {

super("200842018java音乐播放器");

soumd1 = new MediaPlayer();

Container c = getContentPane();

c.setLayout(new FlowLayout());

mingcheng = new Vector();

jp1 = new JPanel();

c.add(jp1);

JMenuBar mb=new JMenuBar();

setJMenuBar(mb);

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

mb.add(fileMenu);

JMenu helpMenu=new JMenu("帮助");

mb.add(helpMenu);

fileMenu.add(jmiOpen=new JMenuItem("打开"));

fileMenu.add(jmiSave=new JMenuItem("播放")); helpMenu.add(jmiAbout=new JMenuItem("关于"));

JPanel jp2 = new JPanel();

jp2.setLayout(new FlowLayout());

jp2.add(last = new JButton("后退"));

jp2.add(playSound = new JButton("播放"));

jp2.add(tjian = new JButton("添加"));

jp2.add(next = new JButton("前进"));

jp2.add(stopsound = new JButton("停止"));

jp2.add(loopSound= new JButton("循环"));

getContentPane().add(jp2, BorderLayout.SOUTH);

jp2 = new JPanel();

jp2.add(playSound);

jp2.add(stopsound);

c.add(jp2);

jp4 = new JPanel();

sj1 = new JLabel();

sj2 = new JLabel();

jp4.add(sj1);

jp4.add(sj2);

c.add(jp4);

vector = new Vector();

jl = new JList(mingcheng);

jl.setVisibleRowCount(4);

jl.setFixedCellHeight(30);

jl.setFixedCellWidth(265);

jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) ;

c.add(new JScrollPane(jl));

jp3 = new JPanel();

jp3.add(tjian);

c.add(jp3);

try {

String s = "d:\\music.txt";

ObjectInputStream input = new ObjectInputStream( new FileInputStream(s));

lujin a1 = (lujin) input.readObject();

mingcheng = a1.b;

vector = a1.a;

jl.setListData(mingcheng);

}

catch (Exception e) {

System.out.println("D盘没有保存音乐文件");

}

jmiOpen.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser();

fileChooser

.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

fileChooser.setCurrentDirectory(new File("."));

fileChooser

.setFileFilter(new

javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

String name = file.getName().toLowerCase();

return name.endsWith(".mp3")

|| file.isDirectory();

}

public String getDescription() {

return "音乐文件(*.mp3)";

}

});

if (fileChooser.showOpenDialog(lyt.this) == JFileChooser.APPROVE_OPTION) {

String fileName =

fileChooser.getSelectedFile()

.getAbsolutePath();

vector.add(fileName);

StringBuffer buffer = daoxu(fileName);

mingcheng.add(buffer);

}

}

});

tjian.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser();

fileChooser

.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

fileChooser.setCurrentDirectory(new

File("."));

fileChooser

.setFileFilter(new

javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

String name =

file.getName().toLowerCase();

return name.endsWith(".mp3")

|| file.isDirectory();

}

public String getDescription() {

return "音乐文件(*.mp3)";

}

});

if (fileChooser.showOpenDialog(lyt.this) == JFileChooser.APPROVE_OPTION) {

String fileName =

fileChooser.getSelectedFile()

.getAbsolutePath();

vector.add(fileName);

StringBuffer buffer = daoxu(fileName);

mingcheng.add(buffer);

}

}

});

jmiSave.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (jl.getSelectedIndex() >= 0) {

String yy = (String)

vector.get(jl.getSelectedIndex());

File ff = new File(yy);

if (ff.exists()) {

if (yy.matches("[\\S\\s]*.mp3") || yy.matches("[\\S\\s]*.mp3")) {

if (soumd1 != null) {

a = 0;

b = 0;

you = 0;

soumd1.stop();

}

soumd1.setMediaLocation("file:/" + yy);

fo = true;

soumd1.start();

geshi = true;

try {

Thread.sleep(500);

}

catch (InterruptedException eee) {

}

}

else

JOptionPane.showMessageDialog(null,

"无法播放");

}

else

JOptionPane.showMessageDialog(null,

"此歌曲已经存在");

}

else

JOptionPane.showMessageDialog(null, "请选择音乐文件");

}

});

loopSound.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (jl.getSelectedIndex() >= 0) {

String yy = (String) vector.get(jl.getSelectedIndex());

File ff = new File(yy);

if (ff.exists()) {

if (yy.matches("[\\S\\s]*.mp3")|| yy.matches("[\\S\\s]*.MP3")) {

if (soumd1 != null) {

a = 0;

b = 0;

you = 0;

soumd1.stop();

}

soumd1.setMediaLocation("file:/" + yy);

fo = true;

soumd1.start();

geshi=true;

try {

Thread.sleep(500);

} catch (InterruptedException we) {

}

} else

JOptionPane.showMessageDialog(null,

"不支持此格式,无法播放");

} else

JOptionPane.showMessageDialog(null,

"此歌曲文件已经存在");

}

else

JOptionPane.showMessageDialog(null, "请选择音乐文件");

}

});

playSound.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (jl.getSelectedIndex() >= 0) {

String yy = (String)

vector.get(jl.getSelectedIndex());

File ff = new File(yy);

if (ff.exists()) {

if (yy.matches("[\\S\\s]*.mp3") ||

yy.matches("[\\S\\s]*.mp3")) {

if (soumd1 != null) {

a = 0;

b = 0;

you = 0;

soumd1.stop();

}

soumd1.setMediaLocation("file:/" + yy);

fo = true;

soumd1.start();

geshi = true;

try {

Thread.sleep(500);

}

catch (InterruptedException eee) {

}

}

else

JOptionPane.showMessageDialog(null,

"无法播放");

}

else

JOptionPane.showMessageDialog(null,

"此歌曲已经存在");

}

else

JOptionPane.showMessageDialog(null, "请选择音乐文件");

}

});

stopsound.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

a = 0;

b = 0;

you = 0;

mm = 0;

geshi = false;

fo = false;

sj1.setText(null);

sj2.setText(null);

if (jl.getSelectedIndex() >= 0)

soumd1.stop();

}

});

jl.addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent event) {

if (event.getClickCount() == 2) {

if (jl.getSelectedIndex() >= 0) {

String yy = (String)

vector.get(jl.getSelectedIndex());

File ff = new File(yy);

if (ff.exists()) {

if (yy.matches("[\\S\\s]*.mp3") ||

yy.matches("[\\S\\s]*.mp3")) {

if (soumd1 != null) {

a = 0;

b = 0;

you = 0;

soumd1.stop();

}

soumd1.setMediaLocation("file:/" + yy);

fo = true;

soumd1.start();

geshi = true;

try {

Thread.sleep(500);

}

catch (InterruptedException e) {

}

}

else

JOptionPane.showMessageDialog(null,

"无法播放");

}

else

JOptionPane.showMessageDialog(null,

"此歌曲已经存在");

}

}

if (event.isMetaDown()) {

if (jl.getSelectedIndex() >= 0) {

int a = jl.getSelectedIndex();

jt1.setText(mingcheng.get(jl.getSelectedIndex()) + "");

jt2.setText(vector.get(jl.getSelectedIndex()) + "");

}

}

}

});

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

String s = "d:\\music.txt";

mmm(vector, mingcheng, s);

System.exit(0);

}

});

setSize(370, 270);

setVisible(true);

}

public void run() {

while (true) {

Date now = new Date();

try {

Thread.sleep(1000);

}

catch (InterruptedException e) {

}

if (geshi) {

you = (int) soumd1.getMediaTime().getSeconds();

mm = you % 60;

if (you != 0)

if (you % 60 == 0) {

b++;

}

sj1.setText(b + ":" + mm);

}

}

}

public StringBuffer daoxu(String fileName) {

String mc = "";

for (int i = fileName.length(); i >= 1; i--) {

if (fileName.charAt(i - 1) == '\\')

break;

mc += fileName.charAt(i - 1);

}

StringBuffer buffer = new StringBuffer(mc);

StringBuffer mm = buffer.reverse();

return mm;

}

public void mmm(Vector vector, Vector mingcheng, String lujin) {

lujin a = new lujin(vector, mingcheng);

try {

ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(

lujin));

output.writeObject(a);

output.flush();

output.close();

}

catch (Exception e) {

}

}

public static void main(String agrs[]) {

lyt s = new lyt();

Thread t1 = new Thread(s);

t1.start();

s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

class lujin

implements Serializable {

Vector a = new Vector();

Vector b = new Vector();

public lujin(Vector vector, Vector mingcheng) {

a = vector;

b = mingcheng;

}

}

}

音乐播放器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.sodocs.net/doc/ac8253686.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();

音乐播放器程序源代码及注释

音乐播放器程序源代码及注释: #include #define uchar unsigned char #define uint unsigned int sbit duan=P2^6; sbit key1=P3^2;//按key1可切换花样 sbit key2=P3^3;//按key2可切换歌曲 sbit fm=P2^4;//蜂鸣器连续的IO口 sbit P30=P3^0;//矩阵键盘的一列 uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花样1 uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7, 0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花样2 uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0, 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; char code huayang4[]={ 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0}; uchar count1;//花样标志 uchar count2;//歌曲标志 uchar timeh,timel,i; //编程规则:字节高位是简谱,低位是持续时间, //代表多少个十六分音符 //1-7代表中央C调,8-E代表高八度,0代表停顿

java编写的简单计算器代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {

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.sodocs.net/doc/ac8253686.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;// 播放线程状态

音乐播放器代码大全

音乐播放器代码大全 autostart="true"中true或1表示自动播放,false或0表示手动播放 loop="true" 中的true或1表示重复播放,false或0表示只播放一次width= height= 中的数字分别表示播放器的宽度和高度=0表示隐藏播放器 EnableContextMenu="0" 禁右键 ShowStatusBar="1" (带显示文件播放信息) 1隐藏播放器(不循环) 代码: 2.隐藏播放器(循环播放) 代码: 3.黑色皮肤播放器 代码: 4.淡蓝色播放器 代码:

5.迷幻播放器 代码:

6.带菜单的播放器 代码: 7.深黄色带菜单播放器 代码: 8.灰色播放器 代码:

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

基于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("文件");

安卓音乐播放器开发,含源代码

基于an droid平台的音乐播放器开发 实验报告 学生姓名:_______ 温从林 _________________ 学号: ___________________________________ 班级:计自1201 _____________ 第一章引言 1.1项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Win dowsmobile,symbia n,以及谷歌的An droid操作系统,其中占有开放源代码优势的An droid系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌An droid系统就能做到。本文的音乐播放器就是基于谷歌An droid手机平台的播放器。 An droid :是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于An droid平台的。 1.2编写目的 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3 Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。

本项目是一款基于An droid手机平台的音乐播放器,使An droid手机拥有个性的 多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练An droid的技术和其它在市场上的特点。 1.3开发环境 Eclipse、An droid SDK 320 第二章系统需求分析 2.1功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述: 2.1.1播放器的用例图 假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作, 启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下 图2.1 播放器基本用例图 2.1.2用例分析

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

音乐播放器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的音乐播放器课程设计报告

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

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

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

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

音乐播放器代码

以下为一款音乐播放器代码,长度(width="960")及高度(height="620")可调,自由切换百度随心听,贝瓦电台,豆瓣电台,音悦TV等多款音乐台。 代码一: 代码二:


以下为已嵌入音乐播放器代码的网页代码,复制以下代码创建index.html文件上传空间即可播放音乐,友情链接可自己修改。 音乐网_电视直播网