俗话说工欲善其事必先利其器,而我们在尝试使用摄像头前,要导入相应的包,才可完成。
http://webcam-capture.sarxos.pl/ 这里下载好开发所需要的驱动 jar包(webcam-capture-0.3.10-dist.zip)
至于导入过程,网上具有教程可以自行搜索。
现在开始写摄像头代码,录制你的美:
1.写好所需界面。
2.在监听器上加上摄像头相关代码:
创建对象:Webcam webcam= null;
然后在actionPerformed方法中,加载并启动摄像头:
public void actionPerformed ( ActionEvent e ){ String str = e . getActionCommand (); if ( str . equals ( " 启动 " )){ // 加载摄像头 webcam = Webcam . getDefault (); // 启动 webcam . open ();关键来了,由于屏幕的不断刷新,我们会发现如果只是绘制
BufferedImage image = webcam . getImage (); g . drawImage ( image , 50 , 50 , null ); 那么根本无法形成视频,而这时我们需要借助一个我们司空见惯的错误了——利用死循环,不断绘制图片。 但是我们会产生疑问,如果一直死循环,那么这个程序后续就无法操作了。 故我们要求助一个强力工具,多线程!!!(其实之前都算是为了这里铺垫) 3.完成多线程操作: 创建一个类来实现 Runnable接口。 public void open (){ flag = true ; } public void close (){ flag = false ; } 设置开关,方便后续操作,毕竟我们始终是要关闭的。 public void run (){ while ( flag ){ BufferedImage image = webcam . getImage (); g . drawImage ( image , 50 , 50 , null ); } } 开启后,不断循环,形成视频。 4.修改监听器逻辑: 值得强调的是,只有当我们摄像头以及多线程同时打开时,才可以录制视频。 多线程打开: 先创建对象,然后交给 Thread 对象去启动 RunVideoAble rvt = new RunVideoAble(); Thread t = new Thread(rvt); t.start(); 自己试一试吧!



