package ttangPlayer;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;
import javax.sound.midi.*;
public class MusicPlayer extends JFrame{
/**
*
*/ private Player player;
private File file;
JLabel now = new JLabel("<html> <font color= 'blue' size='3'>糖糖播放器 Zwaerd 为您倾情打造</font> </html> ");
private static final long serialVersionUID = 1L;
public MusicPlayer(){
super("糖糖播放器 1.0.1");
setLayout(null);
setBounds(300,200,600,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon imagebox = new ImageIcon(System.getProperty("user.dir") + "/SysIco/bgPic/qive.png");
ImageIcon imagemain = new ImageIcon(System.getProperty("user.dir") + "/SysIco/bgPic/main.png");
ImageIcon imagegs = new ImageIcon(System.getProperty("user.dir") + "/SysIco/050.png");
ImageIcon imagepri = new ImageIcon(System.getProperty("user.dir") + "/SysIco/045.png");
ImageIcon imagenext = new ImageIcon(System.getProperty("user.dir") + "/SysIco/049.png");
ImageIcon imagemode = new ImageIcon(System.getProperty("user.dir") + "/SysIco/mod.gif");
ImageIcon imageadd = new ImageIcon(System.getProperty("user.dir") + "/SysIco/add.gif");
ImageIcon imagechoice = new ImageIcon(System.getProperty("user.dir") + "/SysIco/choice.gif");
ImageIcon imagecreate = new ImageIcon(System.getProperty("user.dir") + "/SysIco/create.gif");
ImageIcon imagedel = new ImageIcon(System.getProperty("user.dir") + "/SysIco/del.gif");
JButton add = new JButton(imageadd);
add.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
openFile();
if(player==null)
createPlayer();
else{
player.close();
createPlayer();
}
}
}
);
JLabel del = new JLabel(imagedel);
JLabel choice = new JLabel(imagechoice);
JLabel create = new JLabel(imagecreate);
JLabel main = new JLabel(imagemain);
JLabel mode = new JLabel(imagemode);
JLabel box = new JLabel(imagebox);
JLabel next = new JLabel(imagenext);
JLabel pri = new JLabel(imagepri);
JLabel gostop = new JLabel(imagegs);
JLabel local = new JLabel("<html> <font color= 'blue' size='3'> 本地歌曲 </font> </html> ");
JLabel net = new JLabel("网络曲库");
JLabel lic = new JLabel("显示歌词");
JButton voice=new JButton();
JButton tim=new JButton();
add.setBounds(520, 280, 20, 20);
del.setBounds(540, 280, 20, 20);
choice.setBounds(470, 280, 20, 20);
create.setBounds(490, 280, 20, 20);
tim.setBounds(243, 321, 12, 7);
voice.setBounds(515, 17, 7, 10);
mode.setBounds(450, 12, 20, 20);
now.setBounds(250, 330, 300, 30);
net.setBounds(140, 10, 300, 40);
lic.setBounds(250, 10, 300, 40);
local.setBounds(30, 10, 300, 40);
main.setBounds(2, 5, 590, 300);
box.setBounds(0, 0, 600, 400);
gostop.setBounds(20, 320, 40, 40);
pri.setBounds(60, 320, 40, 40);
next.setBounds(100, 320, 40, 40);
this.add(tim);
this.add(mode);
this.add(now);
this.add(voice);
this.add(local);
this.add(net);
this.add(lic);
this.add(del);
this.add(add);
this.add(choice);
this.add(create);
this.add(main);
this.add(next);
this.add(pri);
this.add(gostop);
this.add(box);
setVisible(true);
}
private void openFile()
{
JFileChooser fileChooser = new JFileChooser("F://KuGou");
fileChooser.setFileSelectionMode(
JFileChooser.FILES_ONLY );
int result = fileChooser.showOpenDialog(this);
if ( result == JFileChooser.CANCEL_OPTION )
file = null;
else{
now.setText("正在播放 : " + fileChooser.getSelectedFile().getName());
file = fileChooser.getSelectedFile();
}
}
@SuppressWarnings("deprecation")
private void createPlayer()
{
if ( file == null )
return;
try {
player = Manager.createPlayer(file.toURL());
player.addControllerListener( new EventHandler() );
player.start(); // start player
}
catch ( Exception e ){
JOptionPane.showMessageDialog( this,"播放器暂时不能播放除MP3文件以外的音乐文件!","文件提示",JOptionPane.ERROR_MESSAGE );
}
}
public static void main(String[] args){
MusicPlayer mp= new MusicPlayer();
mp.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit(0);
}
}
);
}
private class EventHandler implements ControllerListener {
public void controllerUpdate( ControllerEvent e ) {
if ( e instanceof RealizeCompleteEvent ) {
Container c = getContentPane();
// load Visual and Control components if they exist
Component visualComponent =
player.getVisualComponent();
if ( visualComponent != null )
c.add( visualComponent, BorderLayout.CENTER );
Component controlsComponent =
player.getControlPanelComponent();
if ( controlsComponent != null )
c.add( controlsComponent, BorderLayout.SOUTH );
c.doLayout();
}
}
}
}
高手帮看下,怎么不能播放Wma文件啊?