JMF getDeviceLIst 得到null解决方案

这两天用JMF做了个小聊天程序,当用ant打包成executable  jar以后,用命令行如何运行都出现getDeviceList返回null的情况,怒的很,最后查阅好多资料。

              有两种情况出现这种异常:
       一、JMF安装完成以后,使用JMFRegister进行硬件 detected以及register。如果detected的时候,没有检测到这些硬件,那么程序运行的时候,就会出现这种异常。如果是种情况,那么检查jmf安装是否正确,以及jdk、jre是否正常安装,以及注意:jmf版本低,只支持32为jdk;或者是硬件无效等问题
             二、第二种情况,是JMFregister以及detected都成功,检测出了音频、视频设备,但是在程序运行的时候,从事出现getDeviceLIst为null的情况。
            这种情况比较烦恼,但是也没什么烦恼的。我就遇到这种情况。
            我的程序在Eclipse中运行正常,但是用ant打包成可执行jar以后,怎么运行都是getDeviceList为null的情况,着急上火了一上午。后来发现,查资料,以及对比eclipse的环境配置,最后把问题解决了!
           关键在于:必须导入%jmfhome%/lib   下边的所有的jar包导入;但是,导入一定要指定到jmf安装目录引用式导入,如果是将%jmfhome%/lib下边的jar包考到项目下导入项目路径,可能也会遇到上述问题,至少我是这样遇到问题的。
          下边说一下我的run.bat 来运行那个基于jmf的项目吧;
     
         start java -Djava.ext.dirs=.;%CLASSPATH%;lib -jar chatclient-2012-08-23.jar
       
         chatclient*-.jar 是可执行jar文件,使用-Djava.ext.dirs=.;%CLASSPATH%;lib   设置运行的环境,classpath中包含了jmf的classpath设置,在安装jmf的时候需要配置的。lib是项目本身需要的jar包,这个run.bat文件时放在项目的根目录下的。
   
         这样运行,一切正常,没有任何jmf问题。这个方法至少能解决部分问题。


           
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值