jmf包你想播放就播放。
http://java.sun.com/products/java-media/jmf/index.html
包、例子、文档都在上边。

解决方案 »

  1.   

    不用jmf包行么?
    jmf包是不是jdk1.3自带的?
      

  2.   

    有一个java写的winamp 要的话给我写信[email protected]
      

  3.   

    java的winamp下载地址
    http://www.javaresearch.org/dn/jlgui2.0.zip
      

  4.   

    我不是要播放器,我是想在自己的程序中加入音效,但是wav文件太大了,au文件也很大,我用这样的方式又不能播放mp3和midi。:
    import java.io.*;
    import javax.sound.sampled.*;
    public class MyTestSound {
     public MyTestSound() {
       try{
         File f = new File("F:\\test.mp3");
         AudioInputStream stream = AudioSystem.getAudioInputStream(f);
         AudioFormat format = stream.getFormat();
         DataLine.Info info = new DataLine.Info(Clip.class,format);
     Clip clip=(Clip)AudioSystem.getLine(info);
         clip.open(stream);
         clip.start();
     //clip.close();
       }catch(Exception e){
         e.printStackTrace();
       }
     }
     public static void main(String[] args) {
       MyTestSound myTestSound1 = new MyTestSound();
     }
    }
    除了用jmf就没有办法了吗?
      

  5.   

    1.找到mp3算法,自己去解压、播放
    2.找第三方实现mp3播放的包。
      

  6.   

    当然是这样不行,用JMF有点不好就是不能流式播放MP3
    那个jlgui2.0.zip虽然不错,而且他的算法提供给你原码,但说明文档少的可怜,而且这个东西太耗资源我觉得GJA106(中文字符) 给你提出了解决问题的思路,不单单是这个问题,其他许多问题都是这样的思路。
      

  7.   

    谢谢GJA106(中文字符) 和zxroseada(张雄) !
    我看我还是用wav格式吧,虽然大了点:(
    对了,AudioInputStream 还有Clip用完了是不是必须close()??否则会有残存的线程?
    上面我帖那段程序还有需要close的其他线程么?怎么我在别的java程序调用我的程序的时候,我播放了一段wav音乐,然后把AudioInputStream 和Clip都close掉,但是他却还是说我有Thread没有中止,他必须强行中止……
      

  8.   

    可以借用 Applet 里的 AudioClipimport java.applet.*;String s = "**.wav" ;
    AudioClip clip = Applet.newAudioClip(getClass().getResource(s));
    clip.play();