使用java检测WebCam设备

我正在使用JMF来操作我的网络摄像头。我的USB摄像头可以与JMF完美协作,但我在JMStudio中使用它,但是,当我使用我的java代码进行此调用时

deviceListVector = CaptureDeviceManager.getDeviceList( null );

我的“音频捕获设备”被检测到,但是,我的USB摄像头在vfw:// 0未被检测到。 为了澄清,音频捕获设备和USB摄像头是完全独立的设备。 如何从JMF中正确检测USB摄像头及其格式?

提前致谢


你也可以试试LTI-Civil或Xuggler。


你可能想看看这里http://fmj-sf.net/


检测摄像头,应将参数传递给getDeviceList(Format)方法(而不是null):

Vector<Object> devices = CaptureDeviceManager.getDeviceList(new Format("RGB"));
Iterator<Object> di = devices.iterator();
while (di.hasNext()) {
    CaptureDeviceInfo info = (CaptureDeviceInfo) di.next();
    System.out.println(info);
}

这应该打印所有的摄像头 - 内置和连接到USB。 我测试过这段代码,它适用于我。

如果这样做没有帮助(因为JMF是旧版的,并且代码的某些部分可能已经过时),您可以尝试使用我的网络摄像头捕获项目的一部分。 它可以与大多数平台(Windows x86和x64,Linux x86和x64,Mac OS等)一起正常工作。如果您决定试用它,则必须编写类似下面的内容列出所有网络摄像头设备:

List<Webcam> webcams = Webcam.getDevices();

请注意,它也可以在JMF之上工作 - 将默认的内置驱动程序替换为JMF,您必须将JMF驱动程序 JAR添加到类路径中,并在列出webcams之前调用它:

Webcam.setDriver(new JmfDriver());

希望这个帮助。

链接地址: http://www.djcxy.com/p/81011.html

上一篇: Detect WebCam device using with java

下一篇: Capturing image from webcam in java?