程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 利用JMF播放視頻(一)

利用JMF播放視頻(一)

編輯:關於JAVA

實現具體步驟:

1.確定視頻文件的位置

MediaLocator mrl=new MediaLocator(new java.lang.String(“文件路徑和文件名”));

2.利用Manager.createPlayer創建一個播放器(Player)

Player player=null;

player=Manager.createPlayer(mrl);

3.使用addControllerListener將此applet注冊為播放器的控制器監視器。注冊此監視器的目的是只要播放器載入一個媒體事件,那麼該applet將會自動調用controllerUpdate方法。

player.addControllerListener(this);

4.播放

player.start();

5.停止與釋放

player.stop();

player.deallocate();//調用此方法可以釋放所有獨占資源,這樣可以避免其它播放器無法啟動。

6.關閉

player.close();//釋放所有資源。

7.

①controllerUpdate方法可以通知applet對播放器的事件作出反應。

②一個播放器的用戶接口容器只有在該播放器的狀態為Realized時才能顯示。

③用戶接口容器包括:可視容器(VisualComponent)和控制面板容器(ControlPanelComponent)。

源代碼:

PlayerApplet.java

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Component;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
public class PlayerApplet extends Applet implements ControllerListener {
    /**
    * Playing an MPEG Movie in an Applet
    */
    private static final long serialVersionUID = 1L;
    Player player = null;
    public void init() {
       setLayout(new BorderLayout());
       MediaLocator mrl = new MediaLocator(new java.lang.String(
              ""));
       
       try {
           player = Manager.createPlayer(mrl);
           //System.out.println("test1:" + player);
           player.addControllerListener(this);
       } catch (Exception e) {
           System.err.println("Got exception " + e);
       }
    }
    public void start() {
       player.start();
    }
    public void stop() {
       player.stop();
       player.deallocate();
    }
    public void destroy() {
       player.close();
    }
    public synchronized void controllerUpdate(ControllerEvent event) {
       if (event instanceof RealizeCompleteEvent) {
           Component comp;
           if ((comp = player.getVisualComponent()) != null)
              add("Center", comp);
           if ((comp = player.getControlPanelComponent()) != null)
              add("South", comp);
           validate();
       }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved