import javax.media.*;
import java.awt.*;
import java.io.IOException;
public class PlayerMusic implements ControllerListener {//ControllerListener 控制事件
private Player player;
private boolean first,loop;
private String path;
PlayerMusic(){
}
public void start(String music){
try {
path="music\\";
player = Manager.createPlayer(new MediaLocator("file:" + path +
music));
} catch (NoPlayerException ex) {
ex.printStackTrace();
System.out.println("不能播放文件");
return;
} catch(IOException ex) {
ex.printStackTrace();
return;
}
if(player==null)
{
System.out.println("播放器为空");
return;
}
first=false;
player.addControllerListener(this);
//提取媒体内容
player.prefetch();
}
public static void main(String [] args){
PlayerMusic pm=new PlayerMusic();
pm.start("媒体文件名");
}
public void controllerUpdate(ControllerEvent e) {
//当媒体播放结束时,默认为单曲循环播放
if(e instanceof EndOfMediaEvent){
player.setMediaTime(new Time(0));
player.start();
return;
}
//当预提取媒体的内容结束
if(e instanceof PrefetchCompleteEvent){
player.start();
return;
}
//当实例化后
if(e instanceof RealizeCompleteEvent){
// pack(); //执行pack()操作
return;
}
}
}
//要用到 jmf.jar 包
import java.awt.*;
import java.io.IOException;
public class PlayerMusic implements ControllerListener {//ControllerListener 控制事件
private Player player;
private boolean first,loop;
private String path;
PlayerMusic(){
}
public void start(String music){
try {
path="music\\";
player = Manager.createPlayer(new MediaLocator("file:" + path +
music));
} catch (NoPlayerException ex) {
ex.printStackTrace();
System.out.println("不能播放文件");
return;
} catch(IOException ex) {
ex.printStackTrace();
return;
}
if(player==null)
{
System.out.println("播放器为空");
return;
}
first=false;
player.addControllerListener(this);
//提取媒体内容
player.prefetch();
}
public static void main(String [] args){
PlayerMusic pm=new PlayerMusic();
pm.start("媒体文件名");
}
public void controllerUpdate(ControllerEvent e) {
//当媒体播放结束时,默认为单曲循环播放
if(e instanceof EndOfMediaEvent){
player.setMediaTime(new Time(0));
player.start();
return;
}
//当预提取媒体的内容结束
if(e instanceof PrefetchCompleteEvent){
player.start();
return;
}
//当实例化后
if(e instanceof RealizeCompleteEvent){
// pack(); //执行pack()操作
return;
}
}
}
//要用到 jmf.jar 包