package com.gouhongjie.test;
import javax.media.Player;
import javax.media.CaptureDeviceInfo;
import javax.media.MediaLocator;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.media.control.FrameGrabbingControl;
import javax.media.Buffer;
import javax.media.util.BufferToImage;
import javax.media.format.VideoFormat;
import java.io.*;
import com.sun.image.codec.jpeg.*;
import javax.media.CaptureDeviceManager;
import javax.media.Manager;
import java.applet.*;
/**
* 类:摄像头类
* 苟宏杰最简单视频设备
*/
public class SampCam extends JFrame {
private static Player player = null;
private CaptureDeviceInfo device = null;
private MediaLocator locator = null;
boolean proportion = true;
String str1 = "vfw:Logitech USB Video Cam:0";
String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";
Component component1;
public SampCam() {
super("摄像机");
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new SampCam();
}
private void jbInit() throws Exception {
component1 = Box.createGlue();
//=====================初始化设备===================//
component1.addNotify();
device = CaptureDeviceManager.getDevice(str2);
locator = device.getLocator();
try {
player = Manager.createRealizedPlayer(locator);
player.start();
if ( (component1 = player.getVisualComponent()) != null) {
this.getContentPane().add(component1, null);
}
}catch (Exception e) {
e.printStackTrace();
}
component1.setBounds(new Rectangle(27, 23, 243, 235));
this.setSize(400, 300);
this.setVisible(true);
}
}