博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMF(Java Media Framework)使用摄像头
阅读量:6758 次
发布时间:2019-06-26

本文共 1182 字,大约阅读时间需要 3 分钟。

 JMF(Java Media Framework)是Java平台使用摄像头、麦克风等媒体设备的应用程序框架,但到了2.1.1e就不再更新,在Windows 7 X64上还能正常运行,只是安装的界面让你感觉回到了Windows98的时代。 不过年代久远的东西,虽然还能用,但可能会遇到一些奇怪的问题,折腾了两个月,发现了两个比较大的问题: 第一个是在Windows 7 x64上提示摄像头初始化失败的问题。这个问题很奇怪,电脑刚开机的时候可以顺利找到一次摄像头并正常操作,但是第二次就会提示摄像头初始化失败。有人提出的解决方法是安装一个叫ManyCamera的程序,这个程序可以把一个摄像头供多个程序同时使用,其实就等于中间加了一层转换,效果会有点差别,免费版还会加上水印,要求比较高的人可能会不爽,但是目前找不到其他办法。 第二个是在程序中找不到摄像头,不光找不到摄像头,其他媒体设备通通找不到,使用以下语句: vector = CaptureDeviceManager.getDeviceList ( null ) 按照文档说明是返回所有媒体设备,但每次vector都是null。 在Eclipse中运行又能正常,导出成jar之后运行就会找不到摄像头。 原因在于找不到jmf.properities文件,该文件包含所有检测到的媒体设备的信息,最简单的解决方法就是把JMF安装目录下lib子目录中的jmf.properties文件复制到最后运行的jar所在的目录,不过如果摄像头改过的话,重新检测后要把新的文件复制到jar目录,因为检测到的媒体设备信息都会存放在JMF安装目录里面的jmf.properties文件里。 StackOverflow里面有个人对这个问题解释得比较清楚: http://stackoverflow.com/questions/8768142/java-capturedevicemanagergetdevicelist-is-empty 虽然问题解决了,但是还是不明白为何在Eclipse中可以正常运行,导出jar后运行却找不到摄像头,即使把JMF所有jar和lib目录都加入系统的CLASSPATH环境变量里还是不行。 另外,JMF安装程序会自动把它的jar和lib目录加入系统的%CLASSPATH%环境变量,但是如果你卸载了再重新安装到其他目录,并不会改变%CLASSPATH%的值,需要手动修改。不过这个环境变量似乎没啥用处。 最好不要把JMF安装到默认的Program Files目录,可能会运行不了,安装到短目录会比较保险,它似乎还是只认Dos时代的8.3目录结构,但偏偏又默认安装到Program Files里面。

转载于:https://www.cnblogs.com/java201407/p/3874728.html

你可能感兴趣的文章
【MySQL】无法进入mysql connections问题
查看>>
再说TCP神奇的40ms
查看>>
eclipse hibernate配置文件(*.hbm.xml)加上自动提示功能
查看>>
extjs 枚举类型
查看>>
五、Hotspot中高效的垃圾回收算法实现
查看>>
发送邮件常见的错误和解决方法
查看>>
机器学习服务器 PredictionIO 脱颖而出
查看>>
mysql不能连接远程mysql服务器
查看>>
Windows 8.1 重复数据删除——概念(一)
查看>>
iptables防火墙高级应用
查看>>
python运维-Socket网络编程
查看>>
yum管理包流程_学习笔记
查看>>
DeltaGrad领跑智能化交易领域 预见收益颠覆基金行业
查看>>
nginx keepalived tomcat实现的高可用
查看>>
Https能避免流量劫持吗?
查看>>
oracle教程之oracle 删除表空间
查看>>
我的友情链接
查看>>
python 2.7.10 找不到 libmysqlclient.18.dylib 解决方案
查看>>
Exchange server 2010 安装部署之二,Exchange2010安装详解
查看>>
负载均衡集群之LVS
查看>>