Problema al tomar foto con webcam

crist?
15 de Octubre del 2009
Saludos!, primera vez que posteo y espero que me puedan ayudar. Mi problema es le siguiente, tengo un código para sacar fotos a través de la webcam y las guarda en un directorio, que aparentemente funciona ya que enciende mi webcam y guarda la foto, pero la foto me sale negra totalmente. No se ve ninguna imagen. Espero que me puedan ayudar de verdad...les adjunto el código que tengo

import java.io.*;
import javax.media.*;
import javax.media.format.*;
import javax.media.util.*;
import javax.media.control.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.ImageIO;

public class Main
{
public static Player player = null;
public static CaptureDeviceInfo di = null;
public static MediaLocator ml = null;
public static Buffer buf = null;
public static Image img = null;
public static BufferToImage btoi = null;

public static void main(String[] args) throws IOException, NoPlayerException, CannotRealizeException, Exception
{

ml = new MediaLocator("vfw://0");

if(ml==null){
System.out.println("ml is null...");
}

player = Manager.createRealizedPlayer(ml);
player.start();
FrameGrabbingControl fgc = (FrameGrabbingControl)
player.getControl("javax.media.control.FrameGrabbingControl");
buf = fgc.grabFrame();
btoi = new BufferToImage((VideoFormat)buf.getFormat());
img = btoi.createImage(buf);
BufferedImage bi = new BufferedImage(800, 640, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
g2.drawImage(img, null, null);
File f = new File("C:/Users/cristobal/Documents/Fotos/test.jpeg");
ImageIO.write((RenderedImage)bi, "jpeg", f);
player.stop();
player.close();
}
}