javaweb音乐播放器例子(Java代码实现简单的音乐播放器)
javaweb音乐播放器例子(Java代码实现简单的音乐播放器)import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;
这个代码是很久以前写的,当初写的时候 想写一个支持多种格式的,后来因为种种原因并没有写全,目前支持的是.wav格式。
下面直接贴代码,如果你直接复制粘贴我的代码会报错的,因为这里面有关于以后会写到的Java GUI 也就是图形化用户界面的一些设置,比如这里面的图标,对于新入门的朋友来说可能看不懂。
import java.applet.AudioClip;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class SoundPlayer extends JFrame implements ActionListener{
JLabel lb=new JLabel();
JPanel mb1=new JPanel();
JFileChooser chooser=new JFileChooser();//文件选择器
File file;//声明文件
String filename;//声明文件名
AudioClip audio;//声音文件剪辑对象(转换)
boolean loop=false;
int c=0;
public SoundPlayer(){
super("音乐播放器");
JButton[] bn=new JButton[3];
JPanel mb=new JPanel(new GridLayout());
Icon[] ic=new Icon[3];
bn[0]=new JButton("播放");
bn[0].addActionListener(this);
bn[0].setIcon(new ImageIcon("qw\\play.png"));
bn[1]=new JButton("停止");
bn[1].addActionListener(this);
bn[1].setIcon(new ImageIcon("qw\\stop.png"));
bn[2]=new JButton("循环");
bn[2].setIcon(new ImageIcon("qw\\loop.png"));
bn[2].addActionListener(this);
mb.add(bn[0] 0);
mb.add(bn[1] 1);
mb.add(bn[2] 2);
JMenu fileMenu=new JMenu("文件");
JMenuItem openMenuItem=new JMenuItem("打开");
openMenuItem.addActionListener(this);
fileMenu.add(openMenuItem);
fileMenu.addSeparator();
JMenuItem exitMenuItem=new JMenuItem("退出");
exitMenuItem.addActionListener(this);
fileMenu.add(exitMenuItem);
JMenuBar menuBar=new JMenuBar();
menuBar.add(fileMenu);
String falg="欢迎使用简易播放器!";
this.add(mb BorderLayout.SOUTH);
this.setFrame(falg);
this.setJMenuBar(menuBar);
this.setSize(300 160);
this.setVisible(true);
this.setResizable(false);
this.setLocation(500 160);
this.setIconImage(new ImageIcon("qw\\Burn.png").getImage());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("退出")){
System.exit(0);
}
if(e.getActionCommand().equals("打开")){
int val=chooser.showOpenDialog(this);
c ;
if(c>1&&val==chooser.APPROVE_OPTION){
file=chooser.getSelectedFile();
audio.stop();
}
if(val==chooser.APPROVE_OPTION){
file=chooser.getSelectedFile();//返回选中的文件
filename=file.getName();
String flag="您正在欣赏的歌曲:" filename;
this.setFrame(flag);
try{
URL url=new URL("file:" file.getPath());//文件转换物理路径
audio=JApplet.newAudioClip(url);//为音频赋值
audio.play();//播放
}catch(MalformedURLException e1){
e1.printStackTrace();
System.out.println("程序崩溃了");
//System.exit(0);
}
}
}
if(e.getActionCommand().equals("播放")){
String flag="您正在欣赏的歌曲:" filename;
if(audio==null){
flag="请选择播放文件:";
this.setFrame(flag);
return;
}
audio.play();
this.setFrame(flag);
}
if(e.getActionCommand().equals("停止")){
if(audio!=null){
audio.stop();
String flag="停止播放:" filename;
this.setFrame(flag);
}else{
String flag=("当前没有任何歌曲!");
this.setFrame(flag);
}
}
if(e.getActionCommand().equals("循环")){
loop=!loop;
String flag="";
if(audio!=null){
if(loop){
audio.loop();
audio.play();
flag="循环播放:" filename;
}else{
audio.play();
flag="顺序播放:" filename;
}
}else{
flag=("没有歌曲怎么循环呢!");
this.setFrame(flag);
}
this.setFrame(flag);
}
}
public void setFrame(String falg){
lb.setText(falg);
mb1.add(lb 0);
this.add(mb1 FlowLayout.CENTER);
}
public static void main(String[] args){
new SoundPlayer();
}
}
具体实现效果如下图:
有任何问题私信小编!