`

JAVA 使用JMF调用摄像头

    博客分类:
  • Java
阅读更多

一、JMF简述

       JMF(Java Media Framework)是Java媒体框架,包含了许多用于处理多媒体

的API可以让基于JAVA的应用实现音频、视频的捕捉、处理、播放、传输等功能。

利用它,可以实现音、视频播放,网络视频聊天、视频会议等功能。

 

二、环境准备

1、下载地址:http://www.oracle.com/technetwork/java/javase/download-142937.html ,

下载的版本是: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”,选择“Capture Devices”

然后按左下角“Detect Capture Devices”按钮,多按几次,直到左边栏中出现“ vfw:Microsoft

WDM Image Capture (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);
	}
}

 

 

 

 

 

  • 大小: 76.5 KB
  • JMF.zip (2.2 MB)
  • 下载次数: 33
分享到:
评论

相关推荐

    java 视频 摄像 调用电脑摄像头

    在调用摄像头方面,JMF提供了一个名为`CaptureDevice`的接口,通过这个接口可以获取摄像头设备并进行视频流的捕捉。具体的实现过程包括注册服务提供者、创建`Processor`对象来处理视频流,然后通过`Player`对象进行...

    jmf调用摄像头成功例子

    在这个“jmf调用摄像头成功例子”中,我们将深入探讨如何使用JMF来访问和捕获来自计算机摄像头的视频流。这个示例("jmfcaptrue")提供了一个实用的方法,演示了在Java程序中集成摄像头功能的基本步骤。 首先,要...

    jmf架构的调用摄像头拍照的源码。

    在标题和描述中提到的“jmf架构的调用摄像头拍照的源码”,是指利用JMF来访问和控制摄像头,实现拍照功能的代码示例。 JMF的工作原理是通过注册不同的Media Players来处理特定格式的媒体数据。这些Media Players...

    java调用摄像头拍照

    在Java编程环境中,调用摄像头...总的来说,Java调用摄像头拍照涉及到对多媒体框架的理解和使用,以及可能的权限管理。无论是通过JMF还是JavaFX,都需要对Java的IO和多线程有一定的掌握,以确保程序的稳定性和性能。

    Java中利用JMF编写摄像头拍照程序.rar_JMF 摄像头_java 摄像头_jmf_拍照_摄像头

    在Java编程环境中,有时我们需要利用计算机的摄像头进行图像采集或者实时视频处理,这时Java Media Framework (JMF) 就派上了用场。JMF 是一个开源的Java平台,用于处理多媒体数据,包括音频和视频。它提供了一种...

    java参照webcam-capture调用摄像头拍照

    以上就是使用`webcam-capture`库在Java中调用摄像头拍照的基本概念和操作步骤。理解这些知识点可以帮助你更好地利用这个库来实现你的项目需求。如果你在使用过程中遇到问题,可以查阅官方文档或者社区讨论,以便获取...

    java Swing 中调用摄像头拍照源码(有说明)

    在Java中,调用摄像头并非Swing库的直接功能,而是通过Java Media Framework (JMF) 或者更现代的Java Media API如JavaFX来实现的。JMF是一个用于处理媒体内容(包括音频、视频)的平台,它可以捕捉、播放、处理和...

    JMF调用USB摄像头程序

    总结来说,JMF是一个强大的工具,允许Java开发者集成多媒体功能,包括调用USB摄像头。然而,由于其年代和更新问题,开发者可能需要考虑其他现代化的解决方案。通过理解和使用JMF,我们可以学习到多媒体处理的基本...

    java swing 调用本地摄像头

    在Java Swing中,我们可以通过Java Media Framework (JMF) 或者更现代的JavaFX来实现调用本地摄像头的功能。下面将详细介绍如何在Java Swing应用中实现这一功能。 首先,让我们了解Java Media Framework (JMF)。JMF...

    JAVA 调用摄像头

    总的来说,"JAVA 调用摄像头"项目展示了如何在Java环境下,尤其是`javaweb`和`Swing`应用中,结合JMF和可能的SWF控件来访问和处理摄像头数据。随着技术的发展,现代Web应用更多地倾向于使用HTML5的媒体API,但了解...

    用java调用摄像头拍照源代码

    以上就是使用Java和JMF调用摄像头拍照的基本流程。需要注意的是,JMF在某些现代操作系统上可能支持不够完善,可能会遇到兼容性问题。另外,JMF的API较为复杂,使用起来可能有些困难。为了解决这些问题,开发者可以...

    java调用大华摄像头

    本篇将深入讲解如何使用Java语言调用大华摄像头,并实现连接与播放功能。 首先,我们要了解大华摄像头提供的API。大华摄像头通常提供SDK(Software Development Kit),其中包括了必要的库文件和文档,帮助开发者...

    java调用电脑摄像头拍照

    这里推荐使用JavaCV库,它封装了OpenCV和其他几个计算机视觉库,使得调用摄像头变得简单。 1. **引入JavaCV库**: 在项目中添加JavaCV依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    java jmf摄像头控件的运用

    在"java jmf摄像头控件的运用"这个主题中,我们将深入探讨如何使用JMF来控制和操作摄像头。 首先,JMF允许开发者在Java应用程序中集成媒体播放、录制以及流媒体功能。它提供了对多种媒体格式的支持,并且可以通过...

    java 调用摄像头制作头像

    在Java编程环境中,调用摄像头制作头像是一个常见的需求,特别是在开发涉及用户图像上传或人脸识别的应用中。这个项目已经实现了这一功能,能够自动调整拍摄图片的大小和位置,确保了良好的用户体验。以下是对这个...

    Jmf捕获摄像头的示例

    `ShowCamera`这个示例文件很可能是一个完整的Java类,展示了如何使用JMF进行摄像头捕获并显示。它可能包含了以上提到的各个步骤,包括设备初始化、处理器创建、数据处理以及UI显示等。通过阅读和理解这个示例,...

Global site tag (gtag.js) - Google Analytics