用Java写的一个播放MP3程序出现以下错:
run:
java.lang.NoClassDefFoundError: music/Test (wrong name: music/test)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: music.Test.  Program will exit.
Exception in thread "main" 
Exception in thread "main" Java Result: 1
jmf包都跟jdk安装都在同一个包了。语法也没错,就运行时出错。

解决方案 »

  1.   

    这是我测试的代码,运行后就报错了
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import javax.swing.*;
    import java.io.File;
    import java.io.IOException;
    import javax.media.*;class test
    {
        public static void main(String[] args)
        {
            frame myframe=new frame();
            myframe.setSize(500,500);
            myframe.setVisible(true);
            myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            myframe.setLocation(500,500);
        }
    }class frame extends JFrame implements ControllerListener {Player myPlayer=null;
    URL url=null;
    File file=new File("F:\\a.mp3");
    Component vc,cc;
    Panel mypanel=new Panel();public frame()
    {
      try {
       url=file.toURI().toURL();
      } catch (MalformedURLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      try {
       myPlayer=Manager.createPlayer(url);
      } catch (NoPlayerException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }  this.add(mypanel);
      myPlayer.addControllerListener(this);
      myPlayer.prefetch();}
      public   void   controllerUpdate   (ControllerEvent   e)
      {
       //如果是Player达到prefect状态,则开始
       if   (e   instanceof   PrefetchCompleteEvent)
           {
           myPlayer.start   ();
           return;
           }
       //如果是已经完成实例,则加入控制面板,视频面板
           if   (e   instanceof   RealizeCompleteEvent)
           {
           vc   =   myPlayer.getVisualComponent   ();
           if   (vc   !=   null)
              add(vc);
           cc   =   myPlayer.getControlPanelComponent   ();
           if   (cc   !=   null)
            add(cc,   BorderLayout.SOUTH);
          pack();
           }
           }
    }
      

  2.   

    jmf写mp3播放器需要额外的支持mp3播放的插件jar包。你加了吗?
      

  3.   

    最快的JAVA版的MP3解码器,开源的。
    http://lfp001.iteye.com/blog/739585呵呵~~
      

  4.   

    本人用netbeans编译的,运行时出现在上面的错误,
      

  5.   

    javamp3-1_0.zip是不是这个,这个是sun网上下载的,这个只有78k多
      

  6.   

    http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#javamp3-1_0-oth-JPRJava MP3 Plugin 1.0部分说这个,看你的代码,没有使用到这个插件。
      

  7.   

    JMF里面有一个PlugInManager类,我理解它是用来管理各种解码插件的,需要把mp3解码插件jar包加入到PlugInManager管理,才能正常播放mp3插件。不过我不知道我理解的有没有误,我写的小例子确实能播放mp3。