I am attempting to adjust camera settings such as exposure and white balance with the FMJ library in Java. I can create a player dynamically:
new net.sf.fmj.media.cdp.civil.CaptureDevicePlugger().addCaptureDevices();
final java.util.Vector vectorDevices = CaptureDeviceManager.getDeviceList(null);
Player player = null;
CaptureDeviceInfo cdi = ((CaptureDeviceInfo) vectorDevices.get(2)); // For simplicity now
try {
player = Manager.createPlayer(cdi.getLocator());
player.start();
} catch (NoPlayerException | IOException e) {
e.printStackTrace();
}
So then I need to get the Control
s of the Player
to change the camera settings:
Control[] ctrls = player.getControls();
However, this is only returning a RateControl
, when I need a FrameGrabbingControl
to grab individual frames and (I'm assuming) FormatControl
to change the camera settings (source).
If these are not returned by getControls()
, am I doomed? I get the same results for these cameras: Microsoft Lifecam Studio and the built-in Lenovo EasyCam