
package com。tainyisoft。jmf; import java。awt。BorderLayout; import java。awt。Component; import java。awt。Dimension; import java。awt。Frame; import java。awt。Panel; import java。awt。event。WindowAdapter; import java。awt。event。WindowEvent; import java。io。IOException; import java。net。MalformedURLException; import java。net。URL; 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; @SuppressWarnings({ "restriction", "unused" }) public class JMFSample implements ControllerListener { public static void main(String[] args) { JMFSamplesp = new JMFSample(); sp。play(); } private Player mediaPlayer; private Frame f; private Player player; private Panel panel; private Component visual; private Component control = null; public void play(){ f = new Frame("JMF Sample1"); f。

addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { if(player != null) { player。close(); }System。exit(0); } }); f。setSize(500,400); f。setVisible(true); URL url = null; try { //准备一个要播放的视频的 URL //file:/home/gsoft2-3/桌面/1。avi url = new URL("home/gsoft2-3/桌面/1。avi"); } catch (MalformedURLException e) { e。printStackTrace(); } try { //通过调用 Manager 的 createPlayer 方法来创建一个 Player 对象 //这个对象是外媒播放的核心控制对象 player = Manager。createPlayer(url); } catch (NoPlayerException e1) { e1。

printStackTrace(); } catch (IOException e1) { e1。printStackTrace(); } //对 player 对象注册器,能相关的时间出现时执行相应的动作 player。addControllerListener(this); //让 player 对象进行相关的资源分配 player。realize(); } private intvideoWidth = 0; private intvideoHeight = 0; private intcontrolHeight = 30; private intinsetWidth = 10; private intinsetHeight = 30; // player 的相关事件 public void controllerUpdate(ControllerEventce) { if (ceinstanceofRealizeCompleteEvent) { //player 实例化完成后进行 player 播放前预处理 player。prefetch(); } else if (ceinstanceofPrefetchCompleteEvent) { if (visual != null)return; //取得 player 中的播放视频的建立,并受到视频窗口的大小 //然后把视频窗口的组建添加到 Frame 窗口中,if ((visual = player。

getVisualComponent()) != null) { Dimension size = visual。getPreferredSize(); videoWidth = size。width; videoHeight = size。height; f。add(visual); } else { videoWidth = 320; } ////取得 player 中的视频播放控制条组件视频播放器java版,并把改组件添加到 Frame 窗口中 if ((control = player。getControlPanelComponent()) != null) { controlHeight = control。getPreferredSize()。height; f。add(control, BorderLayout。SOUTH); } //设定 Framge 窗口的大小视频播放器java版,使得满足视频文件的默认大小 f。setSize(videoWidth + insetWidth, videoHeight + controlHeight + insetHeight); f。validate(); //启动视频播放模块开始播放 player。start(); mediaPlayer。start(); } else if (ceinstanceofEndOfMediaEvent) { //当播放视频完成后,把时间进度恢复到起初,并在次再次播放 player。setMediaTime(new Time(0)); player。start(); } } }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-127509-1.html
何况还有日寇在使阴招
穷的时候谈环保奢侈