求java用编写的播放音乐的代码... 各位高手...我想知道java用编写的播放音乐的代码...请大家指点一下...谢谢咯!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.print.player;import java.awt.BorderLayout;import java.awt.CheckboxMenuItem;import java.awt.Color;import java.awt.Component;import java.awt.FileDialog;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Frame;import java.awt.Graphics;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;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.NoPlayerException;import javax.media.Player;import javax.media.PrefetchCompleteEvent;import javax.media.RealizeCompleteEvent;import javax.media.Time;public class MediaPlayer extends Frame implements ActionListener, ControllerListener, ItemListener { /** * */ private static final long serialVersionUID = 1L; Player player; Component vc, cc; boolean first = true, loop = false; String currentDirectory; MediaPlayer(String title) { super(title); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // 用户点击窗口系统菜单的关闭按钮 // 调用dispose以执行windowClosed dispose(); } public void windowClosed(WindowEvent e) { if (player != null) player.close(); System.exit(0); } }); Menu m = new Menu("文件"); MenuItem mi = new MenuItem("打开"); mi.addActionListener(this); m.add(mi); m.addSeparator(); CheckboxMenuItem cbmi = new CheckboxMenuItem("循环", false); cbmi.addItemListener(this); m.add(cbmi); m.addSeparator(); mi = new MenuItem("退出"); mi.addActionListener(this); m.add(mi); MenuBar mb = new MenuBar(); mb.add(m); setMenuBar(mb); setSize(200, 200); setVisible(true); } @SuppressWarnings("deprecation") public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("退出")) { // 调用dispose以便执行windowClosed dispose(); return; } FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD); fd.setDirectory(currentDirectory); fd.show(); // 如果用户放弃选择文件,则返回 if (fd.getFile() == null) return; currentDirectory = fd.getDirectory(); if (player != null) player.close(); try { player = Manager.createPlayer(new MediaLocator("file:" + fd.getDirectory() + fd.getFile())); } catch (java.io.IOException e2) { System.out.println(e2); return; } catch (NoPlayerException e2) { System.out.println("不能找到播放器."); return; } if (player == null) { System.out.println("无法创建播放器."); return; } first = false; setTitle(fd.getFile()); player.addControllerListener(this); player.prefetch(); } public void controllerUpdate(ControllerEvent e) { // 调用player.close()时ControllerClosedEvent事件出现。 // 如果存在视觉部件,则该部件应该拆除(为一致起见, // 我们对控制面板部件也执行同样的操作) if (e instanceof ControllerClosedEvent) { if (vc != null) { remove(vc); vc = null; } if (cc != null) { remove(cc); cc = null; } return; } if (e instanceof EndOfMediaEvent) { if (loop) { player.setMediaTime(new Time(0)); player.start(); } return; } if (e instanceof PrefetchCompleteEvent) { player.start(); return; } if (e instanceof RealizeCompleteEvent) { vc = player.getVisualComponent(); if (vc != null) add(vc); cc = player.getControlPanelComponent(); if (cc != null) add(cc, BorderLayout.SOUTH); pack(); } } public void itemStateChanged(ItemEvent e) { loop = !loop; } public void paint(Graphics g) { if (first) { int w = getSize().width; int h = getSize().height; g.setColor(Color.blue); g.fillRect(0, 0, w, h); Font f = new Font("DialogInput", Font.BOLD, 16); g.setFont(f); FontMetrics fm = g.getFontMetrics(); int swidth = fm.stringWidth("*** 欢迎 ***"); g.setColor(Color.white); g.drawString("*** 欢迎 ***", (w - swidth) / 2, (h + getInsets().top) / 2); } // 调用超类Frame的paint()方法,该paint()方法将调用Frame包含的各个容器 // 和部件(包括控制面板部件)的paint()方法。 super.paint(g); } // 不执行背景清除操作,以免控制面板部件闪烁 public void update(Graphics g) { paint(g); } public static void main(String[] args) { new MediaPlayer("媒体播放器1.0"); }} 求完全免费代码或库: 添加水印(邮戳)到PDF文件 jsp 中application和out对象的方法在哪边可以查得到啊? 谁有未来教育全国等级考试上机考试题库二级java的安装序列号啊 读取系统变量 java中的+= 我想在每天凌晨2点的时候执行一个Java类的main方法 怎样读取他人网页代码(在线等) 关于类对象中的几个模糊的概念 高分求书:“Design Pattern”!! 弱智问题!!! 我用dataInputStream.readUTF()可以读出值,为什么改用BufferedReader.readLine()就不行了捏? java可视编程的一个小问题
import java.awt.CheckboxMenuItem;
import java.awt.Color;
import java.awt.Component;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;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.NoPlayerException;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;public class MediaPlayer extends Frame implements ActionListener,
ControllerListener, ItemListener {
/**
*
*/
private static final long serialVersionUID = 1L;
Player player;
Component vc, cc;
boolean first = true, loop = false;
String currentDirectory; MediaPlayer(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// 用户点击窗口系统菜单的关闭按钮
// 调用dispose以执行windowClosed
dispose();
} public void windowClosed(WindowEvent e) {
if (player != null)
player.close();
System.exit(0);
}
});
Menu m = new Menu("文件");
MenuItem mi = new MenuItem("打开");
mi.addActionListener(this);
m.add(mi);
m.addSeparator();
CheckboxMenuItem cbmi = new CheckboxMenuItem("循环", false);
cbmi.addItemListener(this);
m.add(cbmi);
m.addSeparator();
mi = new MenuItem("退出");
mi.addActionListener(this);
m.add(mi);
MenuBar mb = new MenuBar();
mb.add(m);
setMenuBar(mb);
setSize(200, 200);
setVisible(true);
} @SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("退出")) {
// 调用dispose以便执行windowClosed
dispose();
return;
}
FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD);
fd.setDirectory(currentDirectory);
fd.show();
// 如果用户放弃选择文件,则返回
if (fd.getFile() == null)
return;
currentDirectory = fd.getDirectory();
if (player != null)
player.close();
try {
player = Manager.createPlayer(new MediaLocator("file:"
+ fd.getDirectory() + fd.getFile()));
} catch (java.io.IOException e2) {
System.out.println(e2);
return;
} catch (NoPlayerException e2) {
System.out.println("不能找到播放器.");
return;
}
if (player == null) {
System.out.println("无法创建播放器.");
return;
}
first = false;
setTitle(fd.getFile());
player.addControllerListener(this);
player.prefetch();
} public void controllerUpdate(ControllerEvent e) {
// 调用player.close()时ControllerClosedEvent事件出现。
// 如果存在视觉部件,则该部件应该拆除(为一致起见,
// 我们对控制面板部件也执行同样的操作)
if (e instanceof ControllerClosedEvent) {
if (vc != null) {
remove(vc);
vc = null;
}
if (cc != null) {
remove(cc);
cc = null;
}
return;
}
if (e instanceof EndOfMediaEvent) {
if (loop) {
player.setMediaTime(new Time(0));
player.start();
}
return;
}
if (e instanceof PrefetchCompleteEvent) {
player.start();
return;
}
if (e instanceof RealizeCompleteEvent) {
vc = player.getVisualComponent();
if (vc != null)
add(vc);
cc = player.getControlPanelComponent();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
} public void itemStateChanged(ItemEvent e) {
loop = !loop;
} public void paint(Graphics g) {
if (first) {
int w = getSize().width;
int h = getSize().height;
g.setColor(Color.blue);
g.fillRect(0, 0, w, h);
Font f = new Font("DialogInput", Font.BOLD, 16);
g.setFont(f);
FontMetrics fm = g.getFontMetrics();
int swidth = fm.stringWidth("*** 欢迎 ***");
g.setColor(Color.white);
g.drawString("*** 欢迎 ***", (w - swidth) / 2,
(h + getInsets().top) / 2);
}
// 调用超类Frame的paint()方法,该paint()方法将调用Frame包含的各个容器
// 和部件(包括控制面板部件)的paint()方法。
super.paint(g);
} // 不执行背景清除操作,以免控制面板部件闪烁
public void update(Graphics g) {
paint(g);
} public static void main(String[] args) {
new MediaPlayer("媒体播放器1.0");
}
}