JAVA 使用JMF調(diào)用攝像頭

JAVA 使用JMF調(diào)用攝像頭

天津卓眾教育      2022-04-28 14:14:01     23

JAVA 使用JMF調(diào)用攝像頭,  JMF簡述  JMF(JavaMediaFramework)是Java媒體框架,包含了許多用于處理多媒體  的API可以讓基于JAVA的應(yīng)用實現(xiàn)音頻、

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹



  JMF簡述


  JMF(JavaMediaframework)是Java媒體框架,包含了許多用于處理多媒體


  的API可以讓基于JAVA的應(yīng)用實現(xiàn)音頻、視頻的捕捉、處理、播放、傳輸?shù)裙δ堋?/p>


  利用它,可以實現(xiàn)音、視頻播放,網(wǎng)絡(luò)視頻聊天、視頻會議等功能。

  

  二、環(huán)境準(zhǔn)備


  1、下載地址:可到官網(wǎng)直接下載


  下載的版本是:jmf-2_1_1e-windows-i586


  2、安裝JMF:


  2.1、安裝環(huán)境要求:JDK版本(1.6或以上的32位版本),JMF只支持32位JDK,


  我本機64位win7+jdk1.7


  2.2、安裝完畢后要重啟,在你的JDK安裝目錄jrelibext下,會多出兩個文件:


  jmf.jar和sound.jar


  3、測試攝像頭:安裝完畢后,在桌面會多一個"JMStudio"的快捷方式,運行它,


  點擊"File->Capture"菜單,如果啟動攝像頭成功,說明你安裝jmf成功。


  4、打開安裝好了的JMF,在E:developjmfbinjmfregistry.exe”,選擇“CaptureDevices”


  然后按左下角“DetectCaptureDevices”按鈕,多按幾次,直到左邊欄中出現(xiàn)“vfw:Microsoft


  WDMImageCapture(Win32):0”,則說明JMF已經(jīng)注冊了攝像頭,到此就可以關(guān)閉了。


  三、編寫測試代碼


  編寫JAVA代碼打開電腦攝像頭,在eclipse中選擇32位jdk1.7,將jmf安裝目錄


  lib目錄下的jmf.properties加入到工程;


  或?qū)rc目錄下將jmf安裝目錄lib目錄下的jmf.jar,sound.jar,mediaplayer.jar三個


  文件導(dǎo)入工程,目的是要引入該目錄下的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 {			// 獲取所有音頻、視頻設(shè)備			@SuppressWarnings("unchecked")			Vector<CaptureDeviceInfo> deviceList = CaptureDeviceManager					.getDeviceList(null);			// 獲取視頻設(shè)備,視頻設(shè)備以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("找不到攝像頭設(shè)備");			}			// 創(chuàng)建視頻播放器			MediaLocator ml = cameraDevice.getLocator();			Player player = Manager.createRealizedPlayer(ml);			if (player == null) {				System.out.println("創(chuàng)建攝像頭播放器失敗");			}			// 播放視頻			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();		// 設(shè)置窗體屬性		cameraUtil.setTitle("CaptureTest");		cameraUtil.setBounds(500, 100, 800, 500);		cameraUtil.setVisible(true);		cameraUtil.setDefaultCloseOperation(EXIT_ON_CLOSE);	}}

  以上就是天津卓眾教育java培訓(xùn)機構(gòu)小編介紹的“Java 使用JMF調(diào)用攝像頭”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注天津卓眾教育java培訓(xùn)機構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。


  相關(guān)視頻:使用JMF實現(xiàn)Java視頻播放器

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。