简易的jmf 播放器主要类文件

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 包

你可能感兴趣的:(java)