swing - Netbeans Java WebcamCapture Throws Exception -
using netbeans, i'm trying connect laptop camera, or usb camera , take screenshot. have 2 classes in project doing that:
functiiwebcam.java (it contains functions connecting device , capture image)
this code:
import java.util.logging.level; import java.util.logging.logger; import javax.media.*; import javax.media.cdm.capturedevicemanager; import java.io.*; import java.awt.*; import javax.media.control.framegrabbingcontrol; import javax.media.format.videoformat; import javax.media.util.buffertoimage; import javax.swing.jlabel; import javax.swing.joptionpane; public class functiiwebcam { //pentru fereastra, implicit dispozitiv string camera = "vfw:microsoft wdm image capture (win32):0"; player broadcast = null; public component componente() { component componente_video; try { // selectare dispozitiv capturedeviceinfo device = capturedevicemanager.getdevice(camera); //sursa imaginilor capturate medialocator localizador = device.getlocator(); //locatia este de tipul "vfw://0" video para windows //fereastra pentru afisarea imaginilor in aplicatie broadcast = manager.createrealizedplayer(localizador); //broadcast.start(); } catch (ioexception ex) { // logger.getlogger(functiiwebcam.class.getname()).log(level.severe, null, ex); ex.printstacktrace(); } catch (noplayerexception ex) { logger.getlogger(functiiwebcam.class.getname()).log(level.severe, null, ex); } catch (cannotrealizeexception ex) { logger.getlogger(functiiwebcam.class.getname()).log(level.severe, null, ex); } // obtinerea imaginilor in player if ((componente_video = broadcast.getvisualcomponent()) != null) { //dimensiunea ferestrei de broadcast componente_video.setsize(320, 240); return componente_video; } else { return null; } } // metoda pentru captura imaginii image img = null; public void capturareimagine() { framegrabbingcontrol controlfg = (framegrabbingcontrol) broadcast.getcontrol("javax.media.control.framegrabbingcontrol"); buffer buffer = controlfg.grabframe(); // creare image awt buffertoimage image = new buffertoimage((videoformat)buffer.getformat()); img = image.createimage(buffer); } public image getimage() { return img; } public void setimage(jlabel lb) { capturareimagine(); lb.seticon( new javax.swing.imageicon( img ) ); system.out.println("ancho= " + img.getwidth(null)); system.out.println("alto= " + img.getheight(null)); } }webcam.java (which contains design swing gui -jframe form :the buttons , panels etc.)
here, don't think need entire code. it's generated netbeans when designed interface. i'll put class:
import javax.swing.icon; import javax.swing.imageicon; import javax.swing.joptionpane; public class webcam extends javax.swing.jframe { functiiwebcam b = new functiiwebcam(); /** creates new form webcam */ public webcam() { initcomponents(); this.settitle("webcam"); // centreaza ferestra this.setlocationrelativeto(null); // aplicare layout de tip box panoului cu numele broadcast (cel in care se afiseaza imaginile de pe webcam) broadcast.setlayout(new javax.swing.boxlayout(broadcast, javax.swing.boxlayout.line_axis)); // adaugarea componentei video broadcast.add(b.componente()); } // button webcam capture private void jbutton1actionperformed(java.awt.event.actionevent evt) { b.capturareimagine(); icon icon = new javax.swing.imageicon(b.getimage()); captura.seticon(icon);
when run application throws me exception. it's curious works; can select device window appears , can see image webcam , capture it. wrong?
java.io.ioexception: not connect capture device java.io.ioexception: not connect capture device iun 05, 2012 1:48:54 pm functiiwebcam componente severe: null javax.media.noplayerexception: error instantiating class: com.sun.media.protocol.vfw.datasource : java.io.ioexception: not connect capture device @ javax.media.manager.createplayerforcontent(manager.java:1362) @ javax.media.manager.createplayer(manager.java:417) @ javax.media.manager.createrealizedplayer(manager.java:553) @ functiiwebcam.componente(functiiwebcam.java:37) @ webcam.<init>(webcam.java:30) @ mediaplayer.jmenuitem1actionperformed(mediaplayer.java:476) @ mediaplayer.access$900(mediaplayer.java:17) @ mediaplayer$11.actionperformed(mediaplayer.java:325) @ javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:2018) @ javax.swing.abstractbutton$handler.actionperformed(abstractbutton.java:2341) @ javax.swing.defaultbuttonmodel.fireactionperformed(defaultbuttonmodel.java:402) @ javax.swing.defaultbuttonmodel.setpressed(defaultbuttonmodel.java:259) @ javax.swing.abstractbutton.doclick(abstractbutton.java:376) @ javax.swing.plaf.basic.basicmenuitemui.doclick(basicmenuitemui.java:833) @ javax.swing.plaf.basic.basicmenuitemui$handler.mousereleased(basicmenuitemui.java:877) @ java.awt.component.processmouseevent(component.java:6504) @ javax.swing.jcomponent.processmouseevent(jcomponent.java:3321) @ java.awt.component.processevent(component.java:6269) @ java.awt.container.processevent(container.java:2229) @ java.awt.component.dispatcheventimpl(component.java:4860) @ java.awt.container.dispatcheventimpl(container.java:2287) @ java.awt.component.dispatchevent(component.java:4686) @ java.awt.lightweightdispatcher.retargetmouseevent(container.java:4832) @ java.awt.lightweightdispatcher.processmouseevent(container.java:4492) @ java.awt.lightweightdispatcher.dispatchevent(container.java:4422) @ java.awt.container.dispatcheventimpl(container.java:2273) @ java.awt.window.dispatcheventimpl(window.java:2713) @ java.awt.component.dispatchevent(component.java:4686) @ java.awt.eventqueue.dispatcheventimpl(eventqueue.java:707) @ java.awt.eventqueue.access$000(eventqueue.java:101) @ java.awt.eventqueue$3.run(eventqueue.java:666) @ java.awt.eventqueue$3.run(eventqueue.java:664) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:87) @ java.awt.eventqueue$4.run(eventqueue.java:680) @ java.awt.eventqueue$4.run(eventqueue.java:678) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.awt.eventqueue.dispatchevent(eventqueue.java:677) @ java.awt.eventdispatchthread.pumponeeventforfilters(eventdispatchthread.java:211) @ java.awt.eventdispatchthread.pumpeventsforfilter(eventdispatchthread.java:128) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(eventdispatchthread.java:117) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:113) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:105) @ java.awt.eventdispatchthread.run(eventdispatchthread.java:90) exception in thread "awt-eventqueue-0" java.lang.nullpointerexception @ functiiwebcam.componente(functiiwebcam.java:48) @ webcam.<init>(webcam.java:30) @ mediaplayer.jmenuitem1actionperformed(mediaplayer.java:476) @ mediaplayer.access$900(mediaplayer.java:17) @ mediaplayer$11.actionperformed(mediaplayer.java:325) @ javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:2018) @ javax.swing.abstractbutton$handler.actionperformed(abstractbutton.java:2341) @ javax.swing.defaultbuttonmodel.fireactionperformed(defaultbuttonmodel.java:402) @ javax.swing.defaultbuttonmodel.setpressed(defaultbuttonmodel.java:259) @ javax.swing.abstractbutton.doclick(abstractbutton.java:376) @ javax.swing.plaf.basic.basicmenuitemui.doclick(basicmenuitemui.java:833) @ javax.swing.plaf.basic.basicmenuitemui$handler.mousereleased(basicmenuitemui.java:877) @ java.awt.component.processmouseevent(component.java:6504) @ javax.swing.jcomponent.processmouseevent(jcomponent.java:3321) @ java.awt.component.processevent(component.java:6269) @ java.awt.container.processevent(container.java:2229) @ java.awt.component.dispatcheventimpl(component.java:4860) @ java.awt.container.dispatcheventimpl(container.java:2287) @ java.awt.component.dispatchevent(component.java:4686) @ java.awt.lightweightdispatcher.retargetmouseevent(container.java:4832) @ java.awt.lightweightdispatcher.processmouseevent(container.java:4492) @ java.awt.lightweightdispatcher.dispatchevent(container.java:4422) @ java.awt.container.dispatcheventimpl(container.java:2273) @ java.awt.window.dispatcheventimpl(window.java:2713) @ java.awt.component.dispatchevent(component.java:4686) @ java.awt.eventqueue.dispatcheventimpl(eventqueue.java:707) @ java.awt.eventqueue.access$000(eventqueue.java:101) @ java.awt.eventqueue$3.run(eventqueue.java:666) @ java.awt.eventqueue$3.run(eventqueue.java:664) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:87) @ java.awt.eventqueue$4.run(eventqueue.java:680) @ java.awt.eventqueue$4.run(eventqueue.java:678) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(protectiondomain.java:76) @ java.awt.eventqueue.dispatchevent(eventqueue.java:677) @ java.awt.eventdispatchthread.pumponeeventforfilters(eventdispatchthread.java:211) @ java.awt.eventdispatchthread.pumpeventsforfilter(eventdispatchthread.java:128) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(eventdispatchthread.java:117) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:113) @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:105) @ java.awt.eventdispatchthread.run(eventdispatchthread.java:90)
Comments
Post a Comment