真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

用JMF打開攝像頭獲取圖像

   今天學習用JAVA中的JMF來打開攝像頭,這個小程序對我來說還是有點難度的。然后我在網上找的一些資料,網上的資料很多而且比較雜,對于我們新人來說,沒有分辨能力,走了很多彎路。下面我把我的學習過程展示出來。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供加查網站建設、加查做網站、加查網站設計、加查網站制作等企業(yè)網站建設、網頁設計與制作、加查企業(yè)網站模板建站服務,10余年加查做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

1.搭建環(huán)境

   我的電腦是win7 64位的;然后在orcale官網下載JDK  (在百度搜索JDK下載)jdk-8u92-windows-i586.exe(JDK必須是32位的,至少在我電腦上是這樣的,我安裝64位的始終沒有成功,最后找出問題來就是JMF 是32位的,配套的JDK也必須是32位的。我是這樣理解的.呵呵);然后下載JMF(直接在百度搜索JMF下載,能直接跳轉到oracle官網的JMF下載,比直接在oracle官網上去找方便很多)jmf-2_1_1e-windows-i586.exe,JMF建議安裝在jdk下,這樣免去了配置環(huán)境變量。

2.環(huán)境配置與測試

   JDK和JMF安裝完畢,然后就是JDK環(huán)境變量配置,依次打開:計算機右鍵屬性>高級系統(tǒng)設置>環(huán)境變量>系統(tǒng)變量  1)新建JAVA_HOME變量  就是剛才jdk的安裝路徑D:\Application\java\jdk1.6.0_25 

2)PATH變量   %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin  

3)CLASSPATH變量  .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示當前路徑)    檢驗:WIN+R  >  CMD   >  javac   java  java -version  代表配置成功  

用JMF打開攝像頭獲取圖像

   然后就是JMF  : 打開JMF安裝目錄下的jmfregistry.exe程序

用JMF打開攝像頭獲取圖像

        

 

    安裝后都需要重新啟動電腦才可以用;會在桌面生成一個JMStudio的快捷方式,打開它

File > Capture   安裝成功會有音頻視頻等,然后就可以通過攝像頭看見自己了;到這里我們的運行環(huán)境就安裝好了,接下來我們就是寫代碼來調用攝像頭了;

 

3. 代碼  

  用記事本或者notepad++  就可以的,notepad++ 有一個插件NppAStyle插件可以格式化java代碼。

 

 

JMF攝像頭基本原理及過程

 

獲取攝像頭信息 》 創(chuàng)建攝像頭和捕捉數據流 》 創(chuàng)建窗體及面板 》 把捕捉的數據流加載到窗體中播放

import java.awt.BorderLayout;

import java.awt.Component;

import javax.media.*;//包含所有media代碼

import javax.swing.JFrame; //通過JFrame來創(chuàng)建窗體

import javax.swing.JPanel; //一個容器類

public class Camera extends JFrame { //繼承窗體的框架

public  static Player player = null; //定義一個player變量。player是media包中的一個類

private CaptureDeviceInfo deviceInfo = null;   //定義管理器的截取設備注冊信息

private MediaLocator mediaLocator = null;

private Component component = null;

private JPanel vedioPanel = null;

String   str = "vfw:Microsoft WDM Image Capture (Win32):0";    //獲取本地攝像頭的字符串

public Camera() {

init();

}

public void init() {

deviceInfo = CaptureDeviceManager.getDevice(str);  //根據字符串獲取采集設備(攝像頭)的引用

mediaLocator = deviceInfo.getLocator(); //從CaptureDevicesInfo對象中獲取MediaLocator對象,然后用它來創(chuàng)建一個DataSource數據源對象;

//獲取采集設備的定位器的引用,需要根據此引用來創(chuàng)建視頻播放器

 

try {

player = Manager.createRealizedPlayer(mediaLocator);// 利用mediaLocator獲取一個player,創(chuàng)建一個player對象

component = player.getVisualComponent(); //player 對象的圖像部件,在此部件上可以播放多媒體圖像

if (component != null) {

/*

  設置窗體的一些屬性

  */

vedioPanel = new JPanel();//面板容器

vedioPanel.add(component, BorderLayout.NORTH);

 

this.add(vedioPanel);

this.pack();    // 自動分配窗體大小

this.setResizable(false);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);  //設置窗體的關閉

this.setVisible(true);

player.start();  //播放捕獲來的數據流

}

} catch(Exception e) {

e.printStackTrace();

}

}

 

public static void main(String[] args) {//主函數

new Camera();

}

}

為了把這個東西搞懂,大哥建議我把這個程序拆分開了,用小程序測試,由于基礎有限,我最終只弄出來一個設備信息獲取的小程序,窗口的還有點難度。


import javax.media.*;

public class INFO {

   public static void main(String[] args) {

CaptureDeviceInfo deviceInfo = null;

String   str2   =   "vfw:Microsoft WDM Image Capture (Win32):0";    //獲取本地攝像頭的字符串

deviceInfo = CaptureDeviceManager.getDevice(str2);

System.out.println("本地攝像頭的信息:"+deviceInfo);

}

}


 

 

 

雖然這是一個比較簡單的小程序,但是我花了很多時間來弄,在這過程中也學會了一些東西,剛開始的時候什么都不會,陪伴我的還好有電腦,一些不懂的問題都是在google&百度上找的,以至于源碼也是。這是的第一篇博文,上述中肯定會有很多錯誤,歡迎大家指出;



網站標題:用JMF打開攝像頭獲取圖像
文章起源:http://weahome.cn/article/jccijd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部