更新時間:2019-10-12 09:16:41 來源:動力節點 瀏覽4079次
JMF簡述
JMF(JavaMediaFramework)是Java媒體框架,包含了許多用于處理多媒體
的API可以讓基于JAVA的應用實現音頻、視頻的捕捉、處理、播放、傳輸等功能。
利用它,可以實現音、視頻播放,網絡視頻聊天、視頻會議等功能。
二、環境準備
1、下載地址:可到官網直接下載
下載的版本是:jmf-2_1_1e-windows-i586
2、安裝JMF:
2.1、安裝環境要求:JDK版本(1.6或以上的32位版本),JMF只支持32位JDK,
我本機64位win7+jdk1.7
2.2、安裝完畢后要重啟,在你的JDK安裝目錄\jre\lib\ext下,會多出兩個文件:
jmf.jar和sound.jar
3、測試攝像頭:安裝完畢后,在桌面會多一個"JMStudio"的快捷方式,運行它,
點擊"File->Capture"菜單,如果啟動攝像頭成功,說明你安裝jmf成功。
4、打開安裝好了的JMF,在E:\develop\jmf\bin\jmfregistry.exe”,選擇“CaptureDevices”
然后按左下角“DetectCaptureDevices”按鈕,多按幾次,直到左邊欄中出現“vfw:Microsoft
WDMImageCapture(Win32):0”,則說明JMF已經注冊了攝像頭,到此就可以關閉了。
三、編寫測試代碼
編寫JAVA代碼打開電腦攝像頭,在eclipse中選擇32位jdk1.7,將jmf安裝目錄
\lib目錄下的jmf.properties加入到工程;
或將src目錄下將jmf安裝目錄\lib目錄下的jmf.jar,sound.jar,mediaplayer.jar三個
文件導入工程,目的是要引入該目錄下的jmf.properties。
測試代碼:
package com.tzz.jmf; import java.awt.BorderLayout; import java.awt.Component; import java.util.Vector; import javax.media.CaptureDeviceInfo; import javax.media.CaptureDeviceManager; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.Player; import javax.swing.JFrame; public class CameraUtil extends JFrame { private static final long serialVersionUID = 8160948676188570043L; /** 初始化啟動攝像頭 */ public void initCapture() { try { // 獲取所有音頻、視頻設備 @SuppressWarnings("unchecked") Vector<CaptureDeviceInfo> deviceList = CaptureDeviceManager .getDeviceList(null); // 獲取視頻設備,視頻設備以vfw打頭(vfw:Microsoft WDM Image Capture (Win32):0) CaptureDeviceInfo cameraDevice = null; for (CaptureDeviceInfo cameraDeviceTmp : deviceList) { if (cameraDeviceTmp.getName().startsWith("vfw")) { cameraDevice = cameraDeviceTmp; break; } } if (cameraDevice == null) { System.out.println("找不到攝像頭設備"); } // 創建視頻播放器 MediaLocator ml = cameraDevice.getLocator(); Player player = Manager.createRealizedPlayer(ml); if (player == null) { System.out.println("創建攝像頭播放器失敗"); } // 播放視頻 player.start(); // 將播放器加入窗體 Component comp = null; if ((comp = player.getVisualComponent()) != null) add(comp, BorderLayout.CENTER); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CameraUtil cameraUtil = new CameraUtil(); cameraUtil.initCapture(); // 設置窗體屬性 cameraUtil.setTitle("CaptureTest"); cameraUtil.setBounds(500, 100, 800, 500); cameraUtil.setVisible(true); cameraUtil.setDefaultCloseOperation(EXIT_ON_CLOSE); } }
以上就是動力節點java培訓機構小編介紹的“Java 使用JMF調用攝像頭”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
相關視頻:使用JMF實現Java視頻播放器
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習