一、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); } }
相关推荐
java使用JMF框架成功调用摄像头的例子,demo成功调用摄像头
用java编写一个关于jmf调用摄像头拍照的源代码
java的JFrame中调用摄像头进行拍照的实例,内有说明文档,附有源码和jmf的插件
javaweb,swing调用摄像头,swf控件,包含jmf-2_1_1e-windows-i586文件,安装重启后,直接导入myeclipse就能运行了。
使用Java调用摄像头进行拍照源码。 JMF安装文件下载地址: http://www.blackswansoft.com/songhaikang/files/myfile/Java Media Framework (JMF) API播放.rar
利用jmf进行rtp传输,在本地测试调用摄像头进行视频通讯 . 在Sender和Receiver中的main函数中,我把本地地址和远端地址都设置成本机的地址,自己传给自己,用来试验用的。 其中用到 StateHelper类 。 Sender的前两...
Java编的视频捕捉程序,实现摄像头的各种功能
java media framework开发工具,能够调用摄像头,语音等; 此为windows下的安装包,安装时请选择jdk安装目录,比如我的是:C:java\jdk_1.6.01\。有疑问可以联系我
支持音频输出和视频输出,可以用这个来调用电脑的摄像头,适合windows系统,下载安装,然后在设置环境变量就可以调用了