lovebosom
猩猩之火
采纳率50%
2019-10-22 16:27 浏览 621

海康威视java二次开发

5

1.在海康威视java二次开发中遇到这样一个问题:修改压缩通道的参数时,总提示失败,返回错误代码是17,经查阅文档,得知17对应的错误是“参数错误。SDK接口中给入的输入或输出参数为空,或者参数格式或值不符合要求。”。
2.代码如下:

public void setCompressPara(String type,String chanelName ) {
        int channelNum = getChannelNum(chanelName);
        //通道压缩参数
        HCNetSDK.NET_DVR_COMPRESSIONCFG_V30 compressionCfg = new HCNetSDK.NET_DVR_COMPRESSIONCFG_V30();
        HCNetSDK.NET_DVR_COMPRESSION_INFO_V30 v30_comCfg = null;
        if(Const.MASTER_STREAM==Integer.valueOf(type)) {//主码流
            v30_comCfg = compressionCfg.struNormHighRecordPara;
        }else if(Const.SUB_STREAM==Integer.valueOf(type)) {//子码流
            v30_comCfg = compressionCfg.struNetPara;
        }
        v30_comCfg.dwVideoBitrate=23;//码率2048
        compressionCfg.write();
        boolean bRet = hCNetSDK.NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_COMPRESSCFG_V30, 
                new NativeLong(channelNum),compressionCfg.getPointer(),compressionCfg.size());
        compressionCfg.read();
        if(!bRet) {
            System.out.println("设置压缩参数失败:"+hCNetSDK.NET_DVR_GetErrorMsg(new NativeLongByReference(new NativeLong(hCNetSDK.NET_DVR_GetLastError()) )));
            log.error("设置压缩参数失败:"+hCNetSDK.NET_DVR_GetLastError());
        }else {
            System.out.println("设置成功" );
            log.info("设置成功" );
        }
    }

图片说明
设置压缩参数失败:Parameter error. Input or output parameter in the SDK API is NULL.
2019-10-22 16:23:53.693 [http-nio-8080-exec-3] ERROR ClientDemo.HCDemo - 设置压缩参数失败:17

有哪位大佬,帮看看,是哪个参数有问题呢?谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • u011372328 msdny 2019-10-23 11:24

    这个代码你自己应该能调试吧,自己把hCNetSDK.NET_DVR_SetDVRConfig的这个方法里面的参数跟Api里面的对比一下,看看你传的参数类型是不是null,一步一步将参数跟api里面的参数对上,让if(!bRet)中的 bRet = true不就行了吗。

    点赞 评论 复制链接分享
  • weixin_43271694 享耳为郭 2021-03-10 16:10

    大佬我想在海康给的javaDemo的基础上做二次开发 想要在预览画面上做一个一寸照片的拍照辅助线,需要覆盖一层Panel,怎么设置为透明的啊

    点赞 评论 复制链接分享

相关推荐