使用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