使用JMF实现java视频播放器

  

JMF这个多媒体开发框架太牛了,简单的几句代码就能实现一个视频播放器的开发,厉害,就是支持的格式少了一些,没关系,这个视频播放器可以播放mpg, avi, fvl等等,想播放其他的请开发自己的插件,下面将代码贴上去,

        包com.bird.jmf;      进口java.awt.BorderLayout;   进口java.awt.Component;   进口java.awt.Dimension;   进口java.awt.Frame;   进口java.awt.Panel;   进口java.awt.event.WindowAdapter;   进口java.awt.event.WindowEvent;   进口java.io.IOException;   进口java.net.MalformedURLException;   进口java.net.URL;      进口javax.media.CannotRealizeException;   进口javax.media.ControllerEvent;   进口javax.media.ControllerListener;   进口javax.media.EndOfMediaEvent;   进口javax.media.Manager;   进口javax.media.MediaLocator;   进口javax.media.NoPlayerException;   进口javax.media.Player;   进口javax.media.PrefetchCompleteEvent;   进口javax.media.RealizeCompleteEvent;   进口javax.media.Time;      @SuppressWarnings({“限制”、“未使用”})   公共类JMFSample实现ControllerListener {   公共静态void main (String [] args) {   JMFSample sp=new JMFSample ();   sp.play ();   }      私人玩家媒体播放器;   私人架f;   私人球员球员;   私人面板面板;   私人组件视觉;   私人组件控制=零;      公共空间玩(){   f=新框架(“JMF Sample1”);   f。addWindowListener(新WindowAdapter () {   公共空间windowClosing (WindowEvent我们){   如果(球员!=null) {   player.close ();   }   system . exit (0);   }   });   f.setSize (500400);      f.setVisible(真正的);   网址URL=零;   尝试{//准备一个要播放的视频文件的URL   url=新的url(“文件:/d:/2. mpg”);   }捕捉(MalformedURLException e) {   e.printStackTrace ();   }   尝试{//通过调用经理的createPlayer方法来创建一个球员的对象//这个对象是媒体播放的核心控制对象   球员=Manager.createPlayer (url);   }捕捉(NoPlayerException e1) {   e1.printStackTrace ();   }捕捉(IOException e1) {   e1.printStackTrace ();   }//对球员对象注册监听器,能噶偶在相关事件发生的时候执行相关的动作   player.addControllerListener(这个);//让球员对象进行相关的资源分配   player.realize ();   }      私人int videoWidth=0;   私人int videoHeight=0;   私人int controlHeight=30;   私人int insetWidth=10;   私人int insetHeight=30;//监听玩家的相关事件   公共空间controllerUpdate (ControllerEvent ce) {   如果(ce instanceof RealizeCompleteEvent) {//玩家实例化完成后进行播放器播放前预处理   player.prefetch ();   }else if (ce instanceof PrefetchCompleteEvent) {   如果(视觉!=null)   返回;//取得球员中的播放视频的组件,并得到视频窗口的大?/然后把视频窗口的组件添加到框架窗口中,   如果((视觉=player.getVisualComponent ()) !=null) {   尺寸大?visual.getPreferredSize ();   videoWidth=宽度;   videoHeight=size.height;   f.add(视觉);   其他}{   videoWidth=320;   }//取得球员中的视频播放控制条组件,并把该组件添加到框架窗口中   如果((控制=player.getControlPanelComponent ()) !=null) {   .height controlHeight=control.getPreferredSize ();   f。添加(控制、BorderLayout.SOUTH);   }//设定框架窗口的大小,使得满足视频文件的默认大小   f。(setSize videoWidth + insetWidth videoHeight + controlHeight + insetHeight);   f.validate ();//启动视频播放组件开始播放   player.start ();   mediaPlayer.start ();   }else if (ce instanceof EndOfMediaEvent) {//当播放视频完成后,把时间进度条恢复到开始,并再次重新开始播放   的球员。setMediaTime(新的时间(0));   player.start ();   }   }      }   之前      

效果图:

  

使用JMF实现java视频播放器

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

使用JMF实现java视频播放器