java实现摄像的japplet程序
来源:互联网 发布:java地图插件有哪些 编辑:程序博客网 时间:2024/05/22 06:26
以下代码通过测试
import java.awt.BorderLayout;
import java.awt.Component;
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.format.VideoFormat;
import javax.swing.JApplet;
import javax.swing.JPanel;
public class Camera extends JApplet {
private JPanel jContentPane = null;
public Camera() {
super();
}
public void init() {
this.setSize(320, 240);
this.setContentPane(getJContentPane());
this.setName("Camera");
}
/**
* ハードウエアリストを取得
*/
private CaptureDeviceInfo[] getDevices() {
Vector devices = CaptureDeviceManager.getDeviceList(null);
CaptureDeviceInfo[] info = new CaptureDeviceInfo[devices.size()];
for (int i = 0; i < devices.size(); i++) {
info[i] = (CaptureDeviceInfo) devices.get(i);
}
return info;
}
/**
* ビデオ設備を取得
*/
private CaptureDeviceInfo[] getVideoDevices() {
CaptureDeviceInfo[] info = getDevices();
CaptureDeviceInfo[] videoDevInfo;
Vector<CaptureDeviceInfo> vc = new Vector<CaptureDeviceInfo>();
for (int i = 0; i < info.length; i++) {
Format[] fmt = info[i].getFormats();
for (int j = 0; j < fmt.length; j++) {
if (fmt[j] instanceof VideoFormat) {
vc.add(info[i]);
}
break;
}
}
videoDevInfo = new CaptureDeviceInfo[vc.size()];
for (int i = 0; i < vc.size(); i++) {
videoDevInfo[i] = (CaptureDeviceInfo) vc.get(i);
}
return videoDevInfo;
}
/**
* Cameraを表示
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
BorderLayout borderLayout = new BorderLayout();
jContentPane = new JPanel();
jContentPane.setLayout(borderLayout);
MediaLocator ml = null;
Player player = null;
try {
// 1つビデオを取得
ml = getVideoDevices()[0].getLocator();
// Playerを構造
player = Manager.createRealizedPlayer(ml);
player.start();
Component comp = player.getVisualComponent();
if (comp != null) {
// 画面に表示
jContentPane.add(comp, BorderLayout.EAST);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return jContentPane;
}
}
- java实现摄像的japplet程序
- java摄像头实时摄像程序
- Android---简单的摄像程序
- Atitit.java的浏览器插件技术 Applet japplet attilax总结
- 利用Camera API实现自己的拍照和摄像程序——android开发
- JApplet与swing的使用和JApplet的安全特点
- 如何解决JApplet的安全问题?
- Japplet与Applet的区别
- japplet到javacsript的 发展
- JFrame与JApplet的区别
- JAVA入门2--关于JOptionPane 和 JApplet一起使用的方法例子
- 自己编写一个会呼叫名字的摄像程序
- 一段基于linux V4L视频采集摄像程序的源码
- OpenCV244 +VS2010下编制的摄像头摄像程序
- Android 调用系统的拍照与摄像程序
- Java 图形用户界面-向JApplet添加组件
- Frame、JPanel、JApplet的布局管理器是什么
- 如何实现摄像全屏以及修改后的影响
- 浏览器与MHP
- DTD、
- JS代码
- java系统属性
- VC++常见错误提醒
- java实现摄像的japplet程序
- BASIS--使用DELETE_USER_ON_DB批量删除用户
- 从极限编程中看“测试优先”
- 用我一个月的工钱买台笔记本
- 用yui建立简单的右键菜单
- Tomcat5.5 内存配置
- PHP&JavaScript二级联动菜单的实现方法
- Google的工作模式
- Asterisk目录及配置文件