2009-09-05 20 views
6

मैं जावा स्विंग में एक जीयूआई एप्लीकेशन बना रहा हूं। मुझे अपने जीयूआई के साथ वेब कैम को एकीकृत करना है। किसी भी शरीर को इसके बारे में पता है?जावा के स्विंग एप्लिकेशन में वेबकैम को एकीकृत कैसे करें?

+1

है जावा मीडिया फ्रेमवर्क। जेएमएफ के साथ आप फिल्में चला सकते हैं, वेबकैम देख सकते हैं ... हो सकता है कि आपके लिए एक समाधान –

उत्तर

2

Freedom for Media in Java जेएमएफ (एपीआई संगत) का एक वैकल्पिक कार्यान्वयन है। बस अगर आप OpenSource लाइब्रेरी का उपयोग करना चाहते हैं।

7
  1. डाउनलोड करके अपने प्रोजेक्ट पुस्तकालयों
  2. को JMF
  3. jmf.jar जोड़ें स्थापित डाउनलोड FrameGrabber स्रोत फ़ाइल और अपनी परियोजना के लिए इसे जोड़ने
  4. के रूप में वीडियो पर कब्जा शुरू करने के लिए इस प्रकार यह प्रयोग करें।

    नया फ्रेमग्राबर()। प्रारंभ();

अंतर्निहित छवि प्राप्त करने के लिए, आप बस अपने फ्रेमग्राबर संदर्भ पर getBufferedImage() को कॉल करें। आप इसे टाइमर कार्य में कर सकते हैं उदाहरण के लिए, हर 33 मिलीसेकंड।

नमूना कोड:

public class TestWebcam extends JFrame { 
    private FrameGrabber vision; 
    private BufferedImage image; 
    private VideoPanel videoPanel = new VideoPanel(); 
    private JButton jbtCapture = new JButton("Show Video"); 
    private Timer timer = new Timer(); 

    public TestWebcam() { 
    JPanel jpButton = new JPanel(); 
    jpButton.setLayout(new FlowLayout()); 
    jpButton.add(jbtCapture); 

    setLayout(new BorderLayout()); 
    add(videoPanel, BorderLayout.CENTER); 
    add(jpButton, BorderLayout.SOUTH); 
    setVisible(true); 

    jbtCapture.addActionListener(
     new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       timer.schedule(new ImageTimerTask(), 1000, 33); 
      } 
     } 
    ); 
    } 

    class ImageTimerTask extends TimerTask { 
    public void run() { 
     videoPanel.showImage(); 
    } 
    } 

    class VideoPanel extends JPanel { 
     public VideoPanel() { 
     try { 
      vision = new FrameGrabber(); 
      vision.start(); 
     } catch (FrameGrabberException fge) { 
     } 
     } 

     protected void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     if (image != null) 
      g.drawImage(image, 10, 10, 160, 120, null); 
     } 

     public void showImage() { 
      image = vision.getBufferedImage(); 
      repaint(); 
     } 
    } 

    public static void main(String[] args) { 
     TestWebcam frame = new TestWebcam(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setSize(190, 210); 
     frame.setVisible(true); 
    } 
} 
+0

धन्यवाद जेआरएल, मैं इसे लागू करने की कोशिश कर रहा हूं, मैं जानना चाहता हूं कि यह स्वचालित रूप से मेरे वेबकैम का पता लगाएगा या नहीं? –

संबंधित मुद्दे