import java.applet.*;
import java.net.*;
import java.io.*;
public class TestMp3 {
public static void main(String[] args) {
try {
URL url = new URL("http://www.lwq.512j.com/mp3/lwq4.mp3");
AudioClip audio = Applet.newAudioClip(url);
audio.play();
while(true){
audio.loop();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} }}
怎么才能播放啊?

解决方案 »

  1.   

    给楼主推荐文字教程
    http://hi.baidu.com/kingmmxtj/blog/item/70909f30d707b79ea9018eb7.html
    http://hi.baidu.com/kingmmxtj/blog/item/515f1052f9087d090cf3e3be.html
      

  2.   


    java默认只能播放mid wave格式,java读取的时候是按字节流读取,改名也没用文件本质还是mp3,他读不到mid的流就会报错
      

  3.   

    楼主可以使用Java MP3 Player 
    http://www.codetoad.com/java_mp3_player.asp
      

  4.   

    可以考虑用jmf   百度一下好多教程的
      

  5.   

    帮你找了很多,都很麻烦。
    建议使用jcom这个工具,去调用com组件。
      

  6.   


    package jn0807.hh;import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;import javax.media.ControllerEvent;
    import javax.media.ControllerListener;
    import javax.media.PrefetchCompleteEvent;
    import javax.media.RealizeCompleteEvent;
    import javax.media.bean.playerbean.MediaPlayer;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    public class MyMediaPlayer extends JFrame implements ControllerListener{

    private MediaPlayer player;

    public MyMediaPlayer(){
    MenuBar menuBar = new MenuBar();
    Menu menuFile = new Menu("File");
    MenuItem open = new MenuItem("Open File");


    menuBar.add(menuFile);
    menuFile.add(open);

    open.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("media"));
    int result = chooser.showOpenDialog(MyMediaPlayer.this);
    if(result == JFileChooser.APPROVE_OPTION){
    String file = chooser.getSelectedFile().getAbsolutePath();
    if(player == null){

    player = new MediaPlayer();

    player.addControllerListener(MyMediaPlayer.this);
    }else{
    player.stop();
    player.deallocate();


    Component c;
    c = player.getVisualComponent();
    if(c != null)
    MyMediaPlayer.this.remove(c);
    c = player.getControlPanelComponent();
    if(c != null)
    MyMediaPlayer.this.remove(c);

    }
    player.setMediaLocation("file:///"+file);
    player.realize();


    }


    }

    });

    this.setMenuBar(menuBar);

    this.setSize(150, 75);
    this.setLocationRelativeTo(null);
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    }

    public static void main(String[] args) {
    new MyMediaPlayer();
    } public void controllerUpdate(ControllerEvent e) {
    if(e instanceof RealizeCompleteEvent){
    Component c;
    c = player.getVisualComponent();
    if(c != null){
    this.add(c, BorderLayout.CENTER);
    }
    c = player.getControlPanelComponent();
    if(c != null){
    this.add(c, BorderLayout.SOUTH);
    }
    player.prefetch();
    }else if(e instanceof PrefetchCompleteEvent){
    this.pack();
    this.setLocationRelativeTo(null);
    player.start();
    }

    }}
    简单的代码,用jmf写得,可以支持mp3。
      

  7.   

    以前写的代码,lz要下载jmf包才能运行。
      

  8.   

    用jmf
    package mypro;/**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2008</p>
     *
     * <p>Company: </p>
     *
     * @author 张栋芳
     * @version 1.0音频剪辑生产控制类
     *
     */import java.io.*;
    import javax.media.*;
    import java.net.URL;
    import java.applet.Applet;
    public class MusicControl {
      private URL url = null;
      private static Player music = null;
      private boolean setAudio(File filepath) {
        try {
          url = filepath.toURL();
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
        if (url == null) {
          System.out.println("没有mp3");
          return false;
        }
        try {
          music = Manager.createPlayer(url);
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
        return true;
      }
      public void play() {
        music.start();
      }
      public void stop() {
        music.stop();
      }
      //退出
      public void exitPlay() {
        File file = new File("music/exit.mp3");
        if (setAudio(file)) {
          music.start();
        }
        else {
          System.out.println("exit");
        }
      }
      //开始
      public void startplay() {
        File file = new File("music/start.mp3");
        if (setAudio(file)) {
          music.start();
        }
      }
      public void musicplay(){//firstItem
        File file=new File("music/刘德华17岁.mp3");
        if(setAudio(file)){
          music.start();
        }
      }
      public void secondPlay(){//secondITem
        File file=new File("music/轻声歌曲.mp3");
        if(setAudio(file)){
            music.start();
        }
      }
      public void threePlay(){//threeItme
        File file=new File("music/老人与海.mp3");
        if(setAudio(file)){
          music.start();
        }
      }
      public void stopPlay(){
        music.stop();
      }
    }
      

  9.   

    我们做的是Applet
    不怎么想用JavaSound
    因为带的东西太大
    客户端下载的东西太多
    有没有更好的方法呢?
      

  10.   

    支持16楼的,代码没跑不孝的对不对,不过用jmf方法是ok的,楼主百度一下,找找相关代码