All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dahua.netsdk.linux.DahuaNetSDKLibrary Maven / Gradle / Ivy

The newest version!
package com.dahua.netsdk.linux;

import com.dahua.netsdk.def.DH_RealPlayType;
import com.dahua.netsdk.linux.callback.*;
import com.sun.jna.*;
import com.sun.jna.ptr.IntByReference;

/**
 * 大华的Linux版本设备网络SDK封装库
 */
@SuppressWarnings("UnusedDeclaration")
public interface DahuaNetSDKLibrary extends Library {
    public static final String JNA_LIBRARY_NAME = "dhnetsdk";

    public static final NativeLibrary JNA_NATIVE_LIB =
            NativeLibrary.getInstance(DahuaNetSDKLibrary.JNA_LIBRARY_NAME);

    public static final DahuaNetSDKLibrary INSTANCE = (DahuaNetSDKLibrary) Native.loadLibrary(
            DahuaNetSDKLibrary.JNA_LIBRARY_NAME, DahuaNetSDKLibrary.class);

    public static final int NULL = 0;
    public static final int TRUE = 1;
    public static final int FALSE = 0;

    public static final int MAX_PATH = 260;

    /**
     * 设备序列号字符长度
     */
    public static final int DH_SERIALNO_LEN = 48;

    /**
     * 返回函数执行失败代码,当调用SDK接口失败时,可以用该函数获取失败的代码,具体错误代码参见下表
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
     * 
类型数值代表含义
NET_NOERROR0没有错误
NET_ERROR-1未知错误
NET_SYSTEM_ERROR(0x80000000|1)Windows系统出错
NET_NETWORK_ERROR(0x80000000|2)网络错误
NET_DEV_VER_NOMATCH(0x80000000|3)设备协议不匹配
NET_INVALID_HANDLE(0x80000000|4)句柄无效
NET_OPEN_CHANNEL_ERROR(0x80000000|5)打开通道失败
NET_CLOSE_CHANNEL_ERROR(0x80000000|6)关闭通道失败
NET_ILLEGAL_PARAM(0x80000000|7)用户参数不合法
NET_SDK_INIT_ERROR(0x80000000|8)SDK初始化出错
NET_SDK_UNINIT_ERROR(0x80000000|9)SDK清理出错
NET_RENDER_OPEN_ERROR(0x80000000|10)申请render资源出错
NET_DEC_OPEN_ERROR(0x80000000|11)打开解码库出错
NET_DEC_CLOSE_ERROR(0x80000000|12)关闭解码库出错
NET_MULTIPLAY_NOCHANNEL(0x80000000|13)多画面预览中检测到通道数为0
NET_TALK_INIT_ERROR(0x80000000|14)录音库初始化失败
NET_TALK_NOT_INIT(0x80000000|15)录音库未经初始化
NET_TALK_SENDDATA_ERROR(0x80000000|16)发送音频数据出错
NET_REAL_ALREADY_SAVING(0x80000000|17)实时数据已经处于保存状态
NET_NOT_SAVING(0x80000000|18)未保存实时数据
NET_OPEN_FILE_ERROR(0x80000000|19)打开文件出错
NET_PTZ_SET_TIMER_ERROR(0x80000000|20)启动云台控制定时器失败
NET_RETURN_DATA_ERROR(0x80000000|21)对返回数据的校验出错
NET_INSUFFICIENT_BUFFER(0x80000000|22)没有足够的缓存
NET_NOT_SUPPORTED(0x80000000|23)当前SDK未支持该功能
NET_NO_RECORD_FOUND(0x80000000|24)查询不到录象
NET_NOT_AUTHORIZED(0x80000000|25)无操作权限
NET_NOT_NOW(0x80000000|26)暂时无法执行
NET_NO_TALK_CHANNEL(0x80000000|27)未发现对讲通道
NET_NO_AUDIO(0x80000000|28)未发现音频
NET_NO_INIT(0x80000000|29)网络SDK未经初始化
NET_DOWNLOAD_END(0x80000000|30)下载已结束
NET_EMPTY_LIST(0x80000000|31)查询结果为空
NET_ERROR_GETCFG_SYSATTR(0x80000000|32)获取系统属性配置失败
NET_ERROR_GETCFG_SERIAL(0x80000000|33)获取序列号失败
NET_ERROR_GETCFG_GENERAL(0x80000000|34)获取常规属性失败
NET_ERROR_GETCFG_DSPCAP(0x80000000|35)获取DSP能力描述失败
NET_ERROR_GETCFG_NETCFG(0x80000000|36)获取网络配置失败
NET_ERROR_GETCFG_CHANNAME(0x80000000|37)获取通道名称失败
NET_ERROR_GETCFG_VIDEO(0x80000000|38)获取视频属性失败
NET_ERROR_GETCFG_RECORD(0x80000000|39)获取录象配置失败
NET_ERROR_GETCFG_PRONAME(0x80000000|40)获取解码器协议名称失败
NET_ERROR_GETCFG_FUNCNAME(0x80000000|41)获取232串口功能名称失败
NET_ERROR_GETCFG_485DECODER(0x80000000|42)获取解码器属性失败
NET_ERROR_GETCFG_232COM(0x80000000|43)获取232串口配置失败
NET_ERROR_GETCFG_ALARMIN(0x80000000|44)获取外部报警输入配置失败
NET_ERROR_GETCFG_ALARMDET(0x80000000|45)获取动态检测报警失败
NET_ERROR_GETCFG_SYSTIME(0x80000000|46)获取设备时间失败
NET_ERROR_GETCFG_PREVIEW(0x80000000|47)获取预览参数失败
NET_ERROR_GETCFG_AUTOMT(0x80000000|48)获取自动维护配置失败
NET_ERROR_GETCFG_VIDEOMTRX(0x80000000|49)获取视频矩阵配置失败
NET_ERROR_GETCFG_COVER(0x80000000|50)获取区域遮挡配置失败
NET_ERROR_GETCFG_WATERMAKE(0x80000000|51)获取图象水印配置失败
NET_ERROR_SETCFG_GENERAL(0x80000000|55)修改常规属性失败
NET_ERROR_SETCFG_NETCFG(0x80000000|56)修改网络配置失败
NET_ERROR_SETCFG_CHANNAME(0x80000000|57)修改通道名称失败
NET_ERROR_SETCFG_VIDEO(0x80000000|58)修改视频属性失败
NET_ERROR_SETCFG_RECORD(0x80000000|59)修改录象配置失败
NET_ERROR_SETCFG_485DECODER(0x80000000|60)修改解码器属性失败
NET_ERROR_SETCFG_232COM(0x80000000|61)修改232串口配置失败
NET_ERROR_SETCFG_ALARMIN(0x80000000|62)修改外部输入报警配置失败
NET_ERROR_SETCFG_ALARMDET(0x80000000|63)修改动态检测报警配置失败
NET_ERROR_SETCFG_SYSTIME(0x80000000|64)修改设备时间失败
NET_ERROR_SETCFG_PREVIEW(0x80000000|65)修改预览参数失败
NET_ERROR_SETCFG_AUTOMT(0x80000000|66)修改自动维护配置失败
NET_ERROR_SETCFG_VIDEOMTRX(0x80000000|67)修改视频矩阵配置失败
NET_ERROR_SETCFG_COVER(0x80000000|68)修改区域遮挡配置失败
NET_ERROR_SETCFG_WATERMAKE(0x80000000|69)修改图象水印配置失败
NET_ERROR_SETCFG_WLAN(0x80000000|70)修改无线网络信息失败
NET_ERROR_SETCFG_WLANDEV(0x80000000|71)选择无线网络设备失败
NET_ERROR_SETCFG_REGISTER(0x80000000|72)修改主动注册参数配置失败
NET_ERROR_SETCFG_CAMERA(0x80000000|73)修改摄像头属性配置失败
NET_ERROR_SETCFG_INFRARED(0x80000000|74)修改红外报警配置失败
NET_ERROR_SETCFG_SOUNDALARM(0x80000000|75)修改音频报警配置失败
NET_ERROR_SETCFG_STORAGE(0x80000000|76)修改存储位置配置失败
NET_AUDIOENCODE_NOTINIT(0x80000000|77)音频编码接口没有成功初始化
NET_DATA_TOOLONGH(0x80000000|78)数据过长
NET_UNSUPPORTED(0x80000000|79)设备不支持该操作
NET_DEVICE_BUSY(0x80000000|80)设备资源不足
NET_SERVER_STARTED(0x80000000|81)服务器已经启动
NET_SERVER_STOPPED(0x80000000|82)服务器尚未成功启动
NET_LISTER_INCORRECT_SERIAL(0x80000000|83)输入序列号有误
NET_QUERY_DISKINFO_FAILED(0x80000000|84)获取硬盘信息失败
NET_ERROR_GETCFG_SESSION(0x80000000|85)获取连接Session信息
NET_USER_FLASEPWD_TRYTIME(0x80000000|86)输入密码错误超过限制次数
NET_LOGIN_ERROR_PASSWORD(0x80000000|100)密码不正确
NET_LOGIN_ERROR_USER(0x80000000|101)帐户不存在
NET_LOGIN_ERROR_TIMEOUT(0x80000000|102)等待登录返回超时
NET_LOGIN_ERROR_RELOGGIN(0x80000000|103)帐号已登录
NET_LOGIN_ERROR_LOCKED(0x80000000|104)帐号已被锁定
NET_LOGIN_ERROR_BLACKLIST(0x80000000|105)帐号已被列为黑名单
NET_LOGIN_ERROR_BUSY(0x80000000|106)资源不足,系统忙
NET_LOGIN_ERROR_CONNECT_EC(107连接主机失败
NET_LOGIN_ERROR_NETWORK(0x80000000|108)网络连接失败
NET_LOGIN_ERROR_SUBCONNECT(0x80000000|109)登录设备成功,但无法创建视频通道,请检查网络状况
NET_LOGIN_ERROR_MAXCONNECT(0x80000000|110)超过最大连接数
NET_RENDER_SOUND_ON_ERROR(0x80000000|120)Render库打开音频出错
NET_RENDER_SOUND_OFF_ERROR(0x80000000|121)Render库关闭音频出错
NET_RENDER_SET_VOLUME_ERROR(0x80000000|122)Render库控制音量出错
NET_RENDER_ADJUST_ERROR(0x80000000|123)Render库设置画面参数出错
NET_RENDER_PAUSE_ERROR(0x80000000|124)Render库暂停播放出错
NET_RENDER_SNAP_ERROR(0x80000000|125)Render库抓图出错
NET_RENDER_STEP_ERROR(0x80000000|126)Render库步进出错
NET_RENDER_FRAMERATE_ERROR(0x80000000|127)Render库设置帧率出错
NET_GROUP_EXIST(0x80000000|140)组名已存在
NET_GROUP_NOEXIST(0x80000000|141)组名不存在
NET_GROUP_RIGHTOVER(0x80000000|142)组的权限超出权限列表范围
NET_GROUP_HAVEUSER(0x80000000|143)组下有用户,不能删除
NET_GROUP_RIGHTUSE_EC(144组的某个权限被用户使用,不能出除
NET_GROUP_SAMENAME(0x80000000|145)新组名同已有组名重复
NET_USER_EXIST(0x80000000|146)用户已存在
NET_USER_NOEXIST(0x80000000|147)用户不存在
NET_USER_RIGHTOVER(0x80000000|148)用户权限超出组权限
NET_USER_PWD(0x80000000|149)保留帐号,不容许修改密码
NET_USER_FLASEPWD(0x80000000|150)密码不正确
NET_USER_NOMATCHING(0x80000000|151)密码不匹配
NET_ERROR_GETCFG_ETHERNET(0x80000000|300)获取网卡配置失败
NET_ERROR_GETCFG_WLAN(0x80000000|301)获取无线网络信息失败
NET_ERROR_GETCFG_WLANDEV(0x80000000|302)获取无线网络设备失败
NET_ERROR_GETCFG_REGISTER(0x80000000|303)获取主动注册参数失败
NET_ERROR_GETCFG_CAMERA(0x80000000|304)获取摄像头属性失败
NET_ERROR_GETCFG_INFRARED(0x80000000|305)获取红外报警配置失败
NET_ERROR_GETCFG_SOUNDALARM(0x80000000|306)获取音频报警配置失败
NET_ERROR_GETCFG_STORAGE(0x80000000|307)获取存储位置配置失败
NET_ERROR_GETCFG_MAIL(0x80000000|308)获取邮件配置失败
NET_CONFIG_DEVBUSY(0x80000000|309)暂时无法设置
NET_CONFIG_DATAILLEGAL(0x80000000|310)配置数据不合法
NET_ERROR_GETCFG_DST(0x80000000|311)获取夏令时配置失败
NET_ERROR_SETCFG_DST(0x80000000|312)设置夏令时配置失败
NET_ERROR_GETCFG_VIDEO_OSD(0x80000000|313)获取视频OSD叠加配置失败
NET_ERROR_SETCFG_VIDEO_OSD(0x80000000|314)设置视频OSD叠加配置失败
NET_ERROR_GETCFG_GPRSCDMA(0x80000000|315)获取CDMA\GPRS网络配置失败
NET_ERROR_SETCFG_GPRSCDMA(0x80000000|316)设置CDMA\GPRS网络配置失败
NET_ERROR_GETCFG_IPFILTER(0x80000000|317)获取IP过滤配置失败
NET_ERROR_SETCFG_IPFILTER(0x80000000|318)设置IP过滤配置失败
NET_ERROR_GETCFG_TALKENCODE(0x80000000|319)获取语音对讲编码配置失败
NET_ERROR_SETCFG_TALKENCODE(0x80000000|320)设置语音对讲编码配置失败
NET_ERROR_GETCFG_RECORDLEN(0x80000000|321)获取录像打包长度配置失败
NET_ERROR_SETCFG_RECORDLEN(0x80000000|322)设置录像打包长度配置失败
NET_DONT_SUPPORT_SUBAREA(0x80000000|323)不支持网络硬盘分区
NET_ERROR_GET_AUTOREGSERVER(0x80000000|324)获取设备上主动注册服务器信息失败
NET_ERROR_CONTROL_AUTOREGISTER(0x80000000|325)主动注册重定向注册错误
NET_ERROR_DISCONNECT_AUTOREGISTER(0x80000000|326)断开主动注册服务器错误
NET_ERROR_GETCFG_MMS(0x80000000|327)获取mms配置失败
NET_ERROR_SETCFG_MMS(0x80000000|328)设置mms配置失败
NET_ERROR_GETCFG_SMSACTIVATION(0x80000000|329)获取短信激活无线连接配置失败
NET_ERROR_SETCFG_SMSACTIVATION(0x80000000|330)设置短信激活无线连接配置失败
NET_ERROR_GETCFG_DIALINACTIVATION(0x80000000|331)获取拨号激活无线连接配置失败
NET_ERROR_SETCFG_DIALINACTIVATION(0x80000000|332)设置拨号激活无线连接配置失败
NET_ERROR_GETCFG_VIDEOOUT(0x80000000|333)查询视频输出参数配置失败
NET_ERROR_SETCFG_VIDEOOUT(0x80000000|334)设置视频输出参数配置失败
NET_ERROR_GETCFG_OSDENABLE(0x80000000|335)获取osd叠加使能配置失败
NET_ERROR_SETCFG_OSDENABLE(0x80000000|336)设置osd叠加使能配置失败
NET_ERROR_SETCFG_ENCODERINFO(0x80000000|337)设置数字通道前端编码接入配置失败
NET_ERROR_GETCFG_TVADJUST(0x80000000|338)获取TV调节配置失败
NET_ERROR_SETCFG_TVADJUST(0x80000000|339)设置TV调节配置失败
NET_ERROR_CONNECT_FAILED(0x80000000|340)请求建立连接失败
NET_ERROR_SETCFG_BURNFILE(0x80000000|341)请求刻录文件上传失败
NET_ERROR_SNIFFER_GETCFG(0x80000000|342)获取抓包配置信息失败
NET_ERROR_SNIFFER_SETCFG(0x80000000|343)设置抓包配置信息失败
NET_ERROR_DOWNLOADRATE_GETCFG(0x80000000|344)查询下载限制信息失败
NET_ERROR_DOWNLOADRATE_SETCFG(0x80000000|345)设置下载限制信息失败
NET_ERROR_SEARCH_TRANSCOM(0x80000000|346)查询串口参数失败
NET_ERROR_GETCFG_POINT(0x80000000|347)获取预制点信息错误
NET_ERROR_SETCFG_POINT(0x80000000|348)设置预制点信息错误
NET_SDK_LOGOUT_ERROR(0x80000000|349)SDK没有正常登出设备
NET_ERROR_GET_VEHICLE_CFG(0x80000000|350)获取车载配置失败
NET_ERROR_SET_VEHICLE_CFG(0x80000000|351)设置车载配置失败
NET_ERROR_GET_ATM_OVERLAY_CFG(0x80000000|352)获取atm叠加配置失败
NET_ERROR_SET_ATM_OVERLAY_CFG(0x80000000|353)设置atm叠加配置失败
NET_ERROR_GET_ATM_OVERLAY_ABILITY(0x80000000|354)获取atm叠加能力失败
NET_ERROR_GET_DECODER_TOUR_CFG(0x80000000|355)获取解码器解码轮巡配置失败
NET_ERROR_SET_DECODER_TOUR_CFG(0x80000000|356)设置解码器解码轮巡配置失败
NET_ERROR_CTRL_DECODER_TOUR(0x80000000|357)控制解码器解码轮巡失败
NET_GROUP_OVERSUPPORTNUM(0x80000000|358)超出设备支持最大用户组数目
NET_USER_OVERSUPPORTNUM(0x80000000|359)超出设备支持最大用户数目
NET_ERROR_GET_SIP_CFG(0x80000000|368)获取SIP配置失败
NET_ERROR_SET_SIP_CFG(0x80000000|369)设置SIP配置失败
NET_ERROR_GET_SIP_ABILITY(0x80000000|370)获取SIP能力失败
NET_ERROR_GET_WIFI_AP_CFG(0x80000000|371)获取WIFI ap配置失败
NET_ERROR_SET_WIFI_AP_CFG(0x80000000|372)设置WIFI ap配置失败
NET_ERROR_GET_DECODE_POLICY(0x80000000|373)获取解码策略配置失败
NET_ERROR_SET_DECODE_POLICY(0x80000000|374)设置解码策略配置失败
NET_ERROR_TALK_REJECT(0x80000000|375)拒绝对讲
NET_ERROR_TALK_OPENED(0x80000000|376)对讲被其他客户端打开
NET_ERROR_TALK_RESOURCE_CONFLICIT(0x80000000|377)资源冲突
NET_ERROR_TALK_UNSUPPORTED_ENCODE(0x80000000|378)不支持的语音编码格式
NET_ERROR_TALK_RIGHTLESS(0x80000000|379)无权限
NET_ERROR_TALK_FAILED(0x80000000|380)请求对讲失败
NET_ERROR_GET_MACHINE_CFG(0x80000000|381)获取机器相关配置失败
NET_ERROR_SET_MACHINE_CFG(0x80000000|382)设置机器相关配置失败
NET_ERROR_GET_DATA_FAILED(0x80000000|383)设备无法获取当前请求数据
NET_ERROR_MAC_VALIDATE_FAILED(0x80000000|384)MAC地址验证失败
NET_ERROR_GET_INSTANCE(0x80000000|385)获取服务器实例失败
NET_ERROR_JSON_REQUEST(0x80000000|386)生成的jason字符串错误
NET_ERROR_JSON_RESPONSE(0x80000000|387)响应的jason字符串错误
NET_ERROR_VERSION_HIGHER(0x80000000|388)协议版本低于当前使用的版本
NET_SPARE_NO_CAPACITY(0x80000000|389)热备操作失败, 容量不足
NET_ERROR_SOURCE_IN_USE(0x80000000|390)显示源被其他输出占用
NET_ERROR_REAVE(0x80000000|391)高级用户抢占低级用户资源
NET_ERROR_NETFORBID(0x80000000|392)禁止入网
* * @return 返回错误码,具体参见错误码表。 */ int CLIENT_GetLastError(); /** * 初始化SDK, 在所有的SDK函数之前调用 *

在应用程序初始化时调用。

* * @param cbDisConnect 断线回调函数,回调出当前网络已经断开的设备, * 对调用SDK的{@link #CLIENT_Logout}函数主动断开的设备不回调,设置为0时禁止回调 * @param dwUser 用户数据 * @return 成功返回TRUE,不成功返回FALSE。 * @see #CLIENT_Cleanup */ int CLIENT_Init(DisConnectCallBack cbDisConnect, NativeLong dwUser); /** * 清空SDK, 释放占用的资源,在所有的SDK函数之后调用 *

在应用程序关闭时调用。

* * @see #CLIENT_Init */ void CLIENT_Cleanup(); /** * 注册用户到设备的扩展接口,支持一个用户指定设备支持的能力 *

车载DVR主动侦听模式下的用户登陆。除了车载dvr登录需要用到该接口,一般不建议客户使用。

* * @param pchDVRIP 设备IP * @param wDVRPort 设备端口 * @param pchUserName 用户名 * @param pchPassword 用户密码 * @param nSpecCap 设备支持的能力,值为2表示主动侦听模式下的用户登陆(车载dvr登录) * * * * * * * * * * * * * * * * *
参数值代表含义
0TCP方式登入
2主动注册登入
3组播方式下的登入
4UDP方式登入
6只建立主连接登陆方式
7SSL加密登录
8成都佳发登陆
9登录远程设备,这个时候void* pCapParam填入远程设备的名字的字符串
12LDAP方式登录
13AD方式登录
* @param pCapParam 对nSpecCap 的补充参数,nSpecCap = 2时,pCapParam填充设备序列号字串(车载dvr登录) * @param lpDeviceInfo 设备信息,属于输出参数 * @param error (当函数返回成功时,该参数的值无意义),返回登录错误码,如下表: * * * * * * * * * * * * * * * * *
错误码代表含义
1密码不正确
2用户名不存在
3登录超时
4帐号已登录
5帐号已被锁定
6帐号被列为黑名单
7资源不足,系统忙
8子连接失败
9主连接失败
10超过最大用户连接数
* @return 失败返回0,成功返回设备ID,登录成功之后对设备的操作都可以通过此值(设备句柄)对应到相应的设备。 * @see #CLIENT_Logout */ NativeLong CLIENT_LoginEx(String pchDVRIP, short wDVRPort, String pchUserName, String pchPassword, int nSpecCap, Pointer pCapParam, NET_DEVICEINFO.ByReference lpDeviceInfo, IntByReference error); /** * 注销设备用户 *

当需要设备主动断开时调用。

* * @param lLoginID {@link #CLIENT_LoginEx}的返回值 * @return 成功返回TRUE,失败返回FALSE。 * @see #CLIENT_LoginEx */ int CLIENT_Logout(NativeLong lLoginID); /** * 设置断线重连的回调函数,不调用sdk内部就不进行断线重连;调用后,sdk内部会在检测到设备断线之后不断重连设备,直到连接成功, * 连接过程中若出现密码或用户错误时,将停止重连。 *

在初始化SDK后,可以设置断线重连成功的回调函数。

* * @param cbAutoConnect 断线重连成功的回调函数 * @param dwUser 用户自定义数据,在回调中可以使用 */ void CLIENT_SetAutoReconnect(HaveReConnectCallBack cbAutoConnect, NativeLong dwUser); /** * 设置动态子连接断线回调函数,目前SVR设备的监视和回放是短连接的。 *

一般在程序初始化的时候设置该回调函数,对枚举中的子链接断线回调,客户可根据回调句柄知道是哪个子链接断线回调。

* * @param cbSubDisConnect 子链接断线回调函数 * @param dwUser 用户自定义参数 */ void CLIENT_SetSubconnCallBack(SubDisConnectCallBack cbSubDisConnect, NativeLong dwUser); /** * 打开实时监视,若返回0表示打开失败 * * @param lLoginID CLIENT_Login的返回值 * @param nChannelID 实时监视通道号,如果rType为RType_Multiplay该参数保留。 * 当rType为RType_Multiplay_1~RType_Multiplay_16时,nChannelID决定了预览的画面, * 如当RType_Multiplay_4时,通道为4或5或6或7表示预览第5到第7通道的四画面预览 * @param hWnd 窗口句柄。值为0(NULL)时对数据不解码不显示图像 * @param rType 值定义类型{@link DH_RealPlayType},如下表: * * * * * * * * * * * * * * * * * * * *
类型代表含义
{@link DH_RealPlayType#DH_RType_Realplay}实时预览
{@link DH_RealPlayType#DH_RType_Multiplay}多画面预览
{@link DH_RealPlayType#DH_RType_Realplay_0}实时监视-主码流,等同于DH_RType_Realplay
{@link DH_RealPlayType#DH_RType_Realplay_1}实时监视-从码流1
{@link DH_RealPlayType#DH_RType_Realplay_2}实时监视-从码流2
{@link DH_RealPlayType#DH_RType_Realplay_3}实时监视-从码流3
{@link DH_RealPlayType#DH_RType_Multiplay_1}多画面预览-1画面
{@link DH_RealPlayType#DH_RType_Multiplay_4}多画面预览-4画面
{@link DH_RealPlayType#DH_RType_Multiplay_8}多画面预览-8画面
{@link DH_RealPlayType#DH_RType_Multiplay_9}多画面预览-9画面
{@link DH_RealPlayType#DH_RType_Multiplay_16}多画面预览-16画面
{@link DH_RealPlayType#DH_RType_Multiplay_6}多画面预览-6画面
{@link DH_RealPlayType#DH_RType_Multiplay_12}多画面预览-12画面
* @param cbRealData 实时监视数据回调函数,见 #CLIENT_SetRealDataCallBackEx * @param cbDisconnect 视频监视断开回调函数 * @param dwUser 用户自定义数据,在回调中可以使用 * @param dwWaitTime 等待时间 * @return 失败返回0,成功返回实时监视ID(实时监视句柄),将作为相关函数的参数。 */ NativeLong CLIENT_StartRealPlay(NativeLong lLoginID, int nChannelID, Pointer hWnd, int rType, RealDataCallBackEx cbRealData, RealPlayDisConnectCallBack cbDisconnect, NativeLong dwUser, int dwWaitTime); /** * 启动实时监视或多画面预览。对于支持双码流的设备,可通过设置RealPlayType参数选择主码流或从码流进行监视 * * @param lLoginID CLIENT_Login的返回值 * @param nChannelID 实时监视通道号,如果rType为RType_Multiplay该参数保留。 * 当rType为RType_Multiplay_1~RType_Multiplay_16时,nChannelID决定了预览的画面, * 如当RType_Multiplay_4时,通道为4或5或6或7表示预览第5到第7通道的四画面预览 * @param hWnd 窗口句柄。值为0(NULL)时对数据不解码不显示图像 * @param rType 值定义类型{@link DH_RealPlayType},如下表: * * * * * * * * * * * * * * * * * * * *
类型代表含义
{@link DH_RealPlayType#DH_RType_Realplay}实时预览
{@link DH_RealPlayType#DH_RType_Multiplay}多画面预览
{@link DH_RealPlayType#DH_RType_Realplay_0}实时监视-主码流,等同于DH_RType_Realplay
{@link DH_RealPlayType#DH_RType_Realplay_1}实时监视-从码流1
{@link DH_RealPlayType#DH_RType_Realplay_2}实时监视-从码流2
{@link DH_RealPlayType#DH_RType_Realplay_3}实时监视-从码流3
{@link DH_RealPlayType#DH_RType_Multiplay_1}多画面预览-1画面
{@link DH_RealPlayType#DH_RType_Multiplay_4}多画面预览-4画面
{@link DH_RealPlayType#DH_RType_Multiplay_8}多画面预览-8画面
{@link DH_RealPlayType#DH_RType_Multiplay_9}多画面预览-9画面
{@link DH_RealPlayType#DH_RType_Multiplay_16}多画面预览-16画面
{@link DH_RealPlayType#DH_RType_Multiplay_6}多画面预览-6画面
{@link DH_RealPlayType#DH_RType_Multiplay_12}多画面预览-12画面
* @return 失败返回0,成功返回实时监视ID(实时监视句柄),将作为相关函数的参数。 * @see #CLIENT_StopRealPlayEx */ NativeLong CLIENT_RealPlayEx(NativeLong lLoginID, int nChannelID, Pointer hWnd, int rType); /** * 停止实时监视或多画面预览 *

关闭实时监视或者多画面预览。

* * @param lRealHandle {@link #CLIENT_RealPlayEx}的返回值 * @return 成功返回TRUE,失败返回FALSE。 * @see #CLIENT_RealPlayEx */ int CLIENT_StopRealPlayEx(NativeLong lRealHandle); /** * 设置实时监视数据回调扩展接口,是对上一接口的补充,增加一个回调数据类型标志dwFlag参数,可以选择性的回调出需要的数据, * 对于没设置回调的数据类型就不回调出来了,当设置为0x1f时与上一接口效果一样,不过对回调函数也做了扩展。 *

通过调用本接口可以比较自如的获取实时监视数据,用来保存成文件,也可以用来数据分发多路窗口显示及实现其他功能。

* * @param lRealHandle {@link #CLIENT_RealPlayEx}的返回值 * @param cbRealData 回调函数,用于传出多种类型的实时数据 * @param dwUser 用户数据 * @param dwFlag 是按位来的,可以组合,为0x1f时五种数据类型都回调,如下表: * * * * * * * * * * * * *
dwFlag数据类型
0x00000001等同原来的原始数据
0x00000002是MPEG4/H264标准数据
0x00000004YUV数据
0x00000008PCM数据
0x00000010原始音频数据
0x0000001f以上五种数据类型
* @return 成功返回TRUE,失败返回FALSE。 * @see #CLIENT_RealPlayEx #CLIENT_StopRealPlayEx */ int CLIENT_SetRealDataCallBackEx(NativeLong lRealHandle, RealDataCallBackEx cbRealData, NativeLong dwUser, int dwFlag); /** * 重启前端设备 * * @param lLoginID {@link #CLIENT_LoginEx}的返回值 * @return 成功返回TRUE,失败返回FALSE。 */ int CLIENT_RebootDev(NativeLong lLoginID); /** * 关闭前端设备 * * @param lLoginID {@link #CLIENT_LoginEx}的返回值 * @return 成功返回TRUE,失败返回FALSE。 */ int CLIENT_ShutDownDev(NativeLong lLoginID); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy