具体代码如下,我感觉找不到文件可能是路径问题,但是我路径并没有错啊,实在找不到了,谢谢大家~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);
}
}
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);
}
}
解决方案 »
- 请问 Java如何可以得知处理器的数量
- 通过HTTP上传文件(由Client端应用程序上传,由SERVLET接收保存)
- 谁能帮我解答,我送第一个解答明白的100分
- 继续问
- 一个奇怪的问题,希望各位高手能指点一二
- 如何得到系统目录
- 如何得到當前系統日期的前一天???
- 用java执行程序碰到一个问题!
- 编译能通过,运行时提示java.lang.VerifyError怎么办
- 在学校ACM预选赛的官网上做题,Eclipse没问题,但是提交到OJ上说Runtime Error
- System.out.println("123" == "12" + "3");为什么结果是true
- javascripte 日期函数笔试题
http://download.csdn.net/detail/yangxingmeng/5112405