Java怎么播放WMA文件啊?

一款名为糖糖播放器的应用程序无法播放WMA格式的文件。该播放器使用Java编写,支持从本地文件系统加载MP3文件并进行播放。开发者在尝试加入WMA文件支持时遇到困难。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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'>糖糖播放器 &nbsp;&nbsp;&nbsp;&nbsp;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文件啊?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值