1

我正在使用 JMF 在我的 Java 项目中捕获视频流(网络摄像头)。

我正在使用的相机被 JMF (JFMStudio) 识别,我设法获得了视频流。

但是,在 JMF 注册表编辑器上 - 有一个可用捕获设备列表,当我在其中一个项目(包括我需要的项目)上单击“添加”时,我收到“无法添加项目”错误。因此,此相机未设置在它的注册表中(天知道在哪里),后来我的项目无法识别它:

RGBFormat fmt = new RGBFormat(); // 可以是 YUV - 没关系 Vector v = CaptureDeviceManager.getDeviceList(fmt);

v 是空的(虽然我知道视频源已被 Java 识别,因为我设法在 JMF Studio 上获取视频)。

现在,这只发生在 Vista(其他地方)而不是 XP 上。

我怀疑 Vista 安全性会以某种方式阻止 Java 写入注册表文件,但当然,我可能错了。

还有一条评论:这是 vfw:Microsoft WDM Image Capture(Win32):0 设备。

任何的想法 ?

4

2 回答 2

1

针对将来遇到相同问题的任何其他人

我遇到了同样的问题,我意识到这是因为我的 Java Media Framework 默认安装在“C:\Program Files”下。当我在 \bin 中运行“jmfinit.exe”时,我注意到我无法更新“jmf.properties”文件

错误在下面复制


找到设备 Microsoft WDM Image Capture (Win32) 查询设备。请稍候... Exception on commit = java.io.FileNotFoundException: C:\Program Files\JMF2.1.1e\bin..\lib\jmf.properties(访问被拒绝)


我更改了 JMF2.1.1e 文件夹的安全设置,一切正常。我很确定将它安装在其他地方也可以

于 2010-06-13T12:04:22.540 回答
0

好吧,我在 Vista 上使用 JMF 来捕获网络摄像头图像,并且它有效。不过我没有使用 JMF Studio,所以在那里帮不上什么忙。

我在这篇文章中发布了一些示例代码,你可以看看它是否会为你运行。

于 2009-11-11T20:33:35.163 回答