JAVA 使用JMF调用摄像头

JAVA 使用JMF调用摄像头

天津卓众教育      2022-04-28 14:14:01     15

JAVA 使用JMF调用摄像头,  JMF简述  JMF(JavaMediaFramework)是Java媒体框架,包含了许多用于处理多媒体  的API可以让基于JAVA的应用实现音频、

课程价格 请咨询

上课时段: 授课校区:

详细介绍



  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安装目录jrelibext下,会多出两个文件:


  jmf.jar和sound.jar


  3、测试摄像头:安装完毕后,在桌面会多一个"JMStudio"的快捷方式,运行它,


  点击"File->Capture"菜单,如果启动摄像头成功,说明你安装jmf成功。


  4、打开安装好了的JMF,在E:developjmfbinjmfregistry.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视频播放器

学分高考提醒您:交易时请核实对方资质,对于过大宣传或承诺需谨慎!任何要求预付定金、汇款等方式均存在风险,谨防上当。