代码如下
import java.io.File;import javax.media.*;public class PlayMp3 {
public static void main(String[] args) throws Exception {
File file=new File("e:"+File.separator+"1.mp3");
System.out.println(file);
Player play=Manager.createPlayer(file.toURI().toURL());
play.prefetch();
play.start();

}
}
1.mp3文件存在,程序正常运行,但是没有声音

解决方案 »

  1.   

    java不支持播放MP3格式的文件好像,我记得是这样了。 支持mav格式的声音文件。
    这是我以前从网上抄的 播放 mav 格式声音文件的源码   class MusicPlay {
        private AudioStream as; // 单次播放声音用
        ContinuousAudioDataStream cas;// 循环播放声音
     
        // 构造函数
        public MusicPlay(URL url) {
            try {
                // 打开一个声音文件流作为输入
                as = new AudioStream(url.openStream());
            } catch(FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch(IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
     
        // 一次播放 开始
        public void start() {
            if(as == null) {
                System.out.println("AudioStream object is not created!");
                return;
            } else {
                AudioPlayer.player.start(as);
            }
        }
     
        // 一次播放 停止
        public void stop() {
            if(as == null) {
                System.out.println("AudioStream object is not created!");
                return;
            } else {
                AudioPlayer.player.stop(as);
            }
        }
     
        // 循环播放 开始
        public void continuousStart() {
            // Create AudioData source.
            AudioData data = null;
            try {
                data = as.getData();
            } catch(IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
            // Create ContinuousAudioDataStream.
            cas = new ContinuousAudioDataStream(data);
     
            // Play audio.
            AudioPlayer.player.start(cas);
        }
     
        // 循环播放 停止
        public void continuousStop() {
            if(cas != null) {
                AudioPlayer.player.stop(cas);
            }
        }
     
    }
    //开始的方法 try {
             /
            FileInputStream fileau = new FileInputStream("D:/8.wav");
            AudioStream as = new AudioStream(fileau);
            AudioPlayer.player.start(as);
                  } 
               catch (IOException ie) 
      

  2.   

    我用的javazoom中 jl1.0.1.jar包播放成功代码如下:
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;import javazoom.jl.decoder.JavaLayerException;
    import javazoom.jl.player.Player;
    public class PlayMp3  {  
    public static void main(String args[]){
    try {
    FileInputStream file=new FileInputStream(new File("e:"+File.separator+"1.mp3"));
    Player play=new Player(file);
    System.out.println("开始播放");
    play.play();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (JavaLayerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    在此谢谢  郝江波  的帮助