Java, Bild mit Webcam

$name

Grünschnabel
Hallo,

ich wollte ein Bild mit einer Webcam machen und anschließend in eine Datei schreiben.
Das Problem ist, das es eine Fehlermeldung gibt und anschließend mein PC abstürzt.

Der Quelltext:

Code:
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.media.*;
import javax.media.control.*;
import javax.media.format.*; 
import javax.media.util.*;
import com.sun.image.codec.jpeg.*;
import javax.media.format.RGBFormat;
//import com.sun.media.protocol.v4l.DataSource;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.media.Buffer;
import javax.imageio.ImageIO;

class Main
{   
    @SuppressWarnings("restriction")
	public static void main(String[] args) throws Exception
    {   	
        CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");
        if(deviceInfo == null)
        {
            System.out.println("no device found");
        }        
        
        System.out.println(deviceInfo);
        
        Player player = Manager.createRealizedPlayer(deviceInfo.getLocator());
        player.start();        
    
        
        FrameGrabbingControl frameGrabber = (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
   
        Buffer buf = frameGrabber.grabFrame();

        Image img = (new BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));
  

        ImageIO.write((RenderedImage)img, "png", new File("test.png")); 

        player.close();
        player.deallocate();
    }    
}

Dann kommt die Fehlermeldung
Code:
Exception in thread "main" java.lang.IllegalArgumentException: image == null!
	at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(Unknown Source)
	at javax.imageio.ImageIO.getWriter(Unknown Source)
	at javax.imageio.ImageIO.write(Unknown Source)
	at game.Main.main(Main.java:45)

Zeile 45 ist
Code:
 ImageIO.write((RenderedImage)img, "png", new File("test.png"));


Edit:
Problem gelöst
Code:
Thread.sleep(2500);
hat gefehlt


Ich hoffe ihr könnt mir helfen,
MfG $name
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück