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
有哪位大佬,帮看看,是哪个参数有问题呢?谢谢