具体代码如下,我感觉找不到文件可能是路径问题,但是我路径并没有错啊,实在找不到了,谢谢大家~import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.FileDialog;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.io.ObjectInputStream.GetField;import javax.media.ControllerClosedEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JFrame;import com.sun.org.apache.bcel.internal.generic.FDIV;
import com.sun.org.apache.bcel.internal.generic.Select;
import com.sun.org.apache.xpath.internal.operations.Mult;
public class Myplayer extends JFrame implements ActionListener {
//继承GUI和监听器
Player player;
String fild;
String fildpath;
String fildname;
boolean loop;
//构造函数
Myplayer(String title){
super(title);

}
//主函数
public static void main(String args[]) {
Myplayer myplayer =new Myplayer("mp3播放器");
Container mw = myplayer.getContentPane();
myplayer.pack();
mw.setBackground(Color.blue);
myplayer.setSize(250,80);
myplayer.setVisible(true);
myplayer.setmenu();
}

public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("退出")){//退出处理
dispose();
player.close();
System.exit(0);
return;
}

if(e.getActionCommand().equals("播放")) //播放处理

if (player != null)
player.start();
return;
}
if (e.getActionCommand().equals("暂停")) { //暂停处理
if (player != null) { 
player.stop(); 

return; 

if (e.getActionCommand().equals("停止")) { //停止处理
if (player != null) { 
player.stop(); 
player.setMediaTime(new Time(0)); 

return; 

// 添加打开文件
if (e.getActionCommand().equals("添加")) { 
FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD); 
fd.setVisible(true);
if (fd.getFile() == null) { 
return; 

// 保存了所选文件的名称及其路径名称 
// 同时设置当前文件夹路径 
String fildname = fd.getFile();
fildpath=fd.getDirectory();
fild= fildpath+fildname;

// 将用户选择的文件作为一个菜单项加入播放列表,该菜单项名为该文件名; 
// 被点击后给出的命令串是该文件的全路径名 
MenuItem mi = new MenuItem(fildname); 
mi.setActionCommand(fild); 
MenuBar mb = getMenuBar(); 
Menu m = mb.getMenu(2); 
mi.addActionListener(this); 
m.add(mi); 
}
else { 
//如果用户选择了一个“播放列表”中的媒体文件 
// 此时可以通过如下动作获得该文件的全路径名 
fild = e.getActionCommand(); 
fildname = fild; 

if (player != null) { 
player.close(); 

try { 
player = Manager.createPlayer(new MediaLocator("file:" + fild)); 
} catch (Exception e1) { 
System.out.println(e1); 
return; }
if (player == null) { 
System.out.println("无法创建播放器"); 
return; 

setTitle(fildname); } //建立菜单栏


public void setmenu(){
//构造菜单
Menu m1=new Menu("添加歌曲");
MenuItem mi1_1=new MenuItem("添加");
m1.add(mi1_1);
mi1_1.addActionListener(this);
m1.addSeparator();
MenuItem mi1_2=new MenuItem("循环");
m1.add(mi1_2);
mi1_2.addActionListener(this);
m1.addSeparator();
MenuItem mi1_3=new MenuItem("退出");
m1.add(mi1_3);
mi1_3.addActionListener(this);
m1.addSeparator();

Menu m2=new Menu("播放控制");
MenuItem mi2_1=new MenuItem("开始");
m2.add(mi2_1);
mi2_1.addActionListener(this);
m2.addSeparator();
MenuItem mi2_2=new MenuItem("暂停");
m2.add(mi2_2);
mi2_2.addActionListener(this);
m2.addSeparator();
MenuItem mi2_3=new MenuItem("停止");
m2.add(mi2_3);
mi2_3.addActionListener(this);
m2.addSeparator();

Menu m3=new Menu("播放列表");
//设置一个菜单栏
MenuBar mbr =new MenuBar();
mbr.add(m1);
mbr.add(m2);
mbr.add(m3);
// 将构造完成的菜单栏交给当前程序的窗口; 
setMenuBar(mbr);
}
}