java JMF的配置方法html
Java推出的JMF(Java Media Framework)以後標着Java進入了多媒體時代,若是你想編寫能播放視頻的Java程序,必須下載sun公司的JMF2.1(或者更高的版本),它爲咱們提供了編寫多媒體必須的包:java.mediajava
沒有安裝JFM的在編譯*.java的時候會提示找不到java.media包windows
java JMF的配置方法app
1.首先去sun公司的主頁去下載安裝包: 點擊連接下載ide
2.下載獲得一個名爲jdk-6u12-windows-i586-p 的文件fetch
3.雙擊安裝,默認的安裝路徑是C:\Program Files\JMF2.1.1e(能夠根據本身的須要改變這個路徑)this
4.安裝後,須要配置下面的幾個變量(vista系統和XP相同),下面以vista系統爲例子spa
a.點擊個人電腦--->屬性--->高級系統設置--->環境變量.net
b.找到CLASSPATH,分別增長jmf.jar和sound.jarcode
C:\Program Files\JMF2.1.1e\lib\jmf.jar;
C:\Program Files\JMF2.1.1e\lib\sound.jar;
(其中 C:\Program Files\JMF2.1.1e爲你的JFM的安裝路徑)
c.找到PATH,增長動態庫
C:\Program Files\JMF2.1.1e\bin;
提示:每添加一項後,不要忘記了後面的分號
好運~
附一個用JAVA編寫播放視頻的程序
import java.applet.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import javax.media.*; public class JavaVideo extends Applet implements ControllerListener,Runnable,ItemListener { Player player; String str; Thread mythread; Choice choice; Component visualCompoment,controlCompoment,progressBar; String mediaFile; URL mediaURL,codeBase; Frame frame; public void init() { str="music.MPE"; mythread=new Thread(this); choice=new Choice(); choice.add("music01.MPG"); choice.add("music02.avi"); choice.add("music03.avi"); choice.addItemListener(this); frame=new Frame("Movie System"); frame.setSize(640,480); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { if(player!=null) { player.stop(); player.deallocate(); } frame.setVisible(false); System.exit(0); } }); add(choice); } public void stop() { if(player!=null) { player.stop(); } } public synchronized void controllerUpdate(ControllerEvent event) { player.getDuration(); if(event instanceof RealizeCompleteEvent) { if((visualCompoment=player.getVisualComponent())!=null) { frame.add("Center",visualCompoment); } if((controlCompoment=player.getControlPanelComponent())!=null) if(visualCompoment!=null) frame.add("South",controlCompoment); else frame.add("Center",controlCompoment); frame.validate(); frame.pack(); } else if(event instanceof PrefetchCompleteEvent) { player.start(); } } public void itemStateChanged(ItemEvent e) { str=choice.getSelectedItem(); if(player==null) {} else { player.stop(); player.deallocate(); } frame.removeAll(); frame.setVisible(true); frame.setBounds(300,100,150,100); frame.validate(); if(!(mythread.isAlive())) { mythread=new Thread(this); } try{ mythread.start(); } catch(Exception ee) {} } public synchronized void run() { try{ mediaURL=new URL(codeBase,str); player=Manager.createPlayer(mediaURL); player.getDuration(); if(player!=null) { player.addControllerListener(this); } else { System.out.println("failed to creat player for"+mediaURL); } } catch(MalformedURLException e) { System.out.println("URL for"+mediaFile+"is invalid"); } catch(IOException e) { System.out.println("URL for"+mediaFile+"is invalid"); } catch(NoPlayerException e) { System.out.println("Can't find a player"+mediaURL); } if(player!=null) { player.prefetch(); } } }