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

com.hikvision.netsdk.linux.HikNetSDKLibrary Maven / Gradle / Ivy

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

import com.hikvision.netsdk.def.ErrorNumber;
import com.hikvision.netsdk.linux.callback.ExceptionCallBack;
import com.hikvision.netsdk.linux.callback.RealDataCallBack;
import com.hikvision.netsdk.linux.callback.RealDataCallBack_V30;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;

/**
 * 海康的Linux版本设备网络SDK封装库
 */
@SuppressWarnings("UnusedDeclaration")
public interface HikNetSDKLibrary extends Library {
    public static final String JNA_LIBRARY_NAME = "hcnetsdk";
    public static final NativeLibrary JNA_NATIVE_LIB = NativeLibrary.getInstance(HikNetSDKLibrary.JNA_LIBRARY_NAME);
    public static final HikNetSDKLibrary INSTANCE = (HikNetSDKLibrary) Native.loadLibrary(HikNetSDKLibrary.JNA_LIBRARY_NAME, HikNetSDKLibrary.class);

    /**
     * 序列号长度
     */
    public static final int SERIALNO_LEN = (int) 48;

    public static final int TRUE = (int) 1;
    public static final int FALSE = (int) 0;

    /**
     * 返回最后操作的错误码。
     *
     * @return 返回值为错误码。错误码主要分为网络通讯库错误码、RTSP通讯库错误码和软硬解库错误码,详见下表。
     *         

网络通讯库错误码

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_PASSWORD_ERROR}1用户名密码错误。注册时输入的用户名或者密码错误。
{@link ErrorNumber#NET_DVR_NOENOUGHPRI}2权限不足。该注册用户没有权限执行当前对设备的操作,可以与远程用户参数配置做对比。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_CHANNEL_ERROR}4通道号错误。设备没有对应的通道号。
{@link ErrorNumber#NET_DVR_OVER_MAXLINK}5设备总的连接数超过最大。
{@link ErrorNumber#NET_DVR_VERSIONNOMATCH}6版本不匹配。SDK和设备的版本不匹配。
{@link ErrorNumber#NET_DVR_NETWORK_FAIL_CONNECT}7连接设备失败。设备不在线或网络原因引起的连接超时等。
{@link ErrorNumber#NET_DVR_NETWORK_SEND_ERROR}8向设备发送失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_ERROR}9从设备接收数据失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_TIMEOUT}10从设备接收数据超时。
{@link ErrorNumber#NET_DVR_NETWORK_ERRORDATA}11传送的数据有误。发送给设备或者从设备接收到的数据错误,如远程参数配置时输入设备不支持的值。
{@link ErrorNumber#NET_DVR_ORDER_ERROR}12调用次序错误。
{@link ErrorNumber#NET_DVR_OPERNOPERMIT}13无此权限。
{@link ErrorNumber#NET_DVR_COMMANDTIMEOUT}14设备命令执行超时。
{@link ErrorNumber#NET_DVR_ERRORSERIALPORT}15串口号错误。指定的设备串口号不存在。
{@link ErrorNumber#NET_DVR_ERRORALARMPORT}16报警端口错误。指定的设备报警输出端口不存在。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空,或者参数格式或值不符合要求。
{@link ErrorNumber#NET_DVR_CHAN_EXCEPTION}18设备通道处于错误状态
{@link ErrorNumber#NET_DVR_NODISK}19设备无硬盘。当设备无硬盘时,对设备的录像文件、硬盘配置等操作失败。
{@link ErrorNumber#NET_DVR_ERRORDISKNUM}20硬盘号错误。当对设备进行硬盘管理操作时,指定的硬盘号不存在时返回该错误。
{@link ErrorNumber#NET_DVR_DISK_FULL}21设备硬盘满。
{@link ErrorNumber#NET_DVR_DISK_ERROR}22设备硬盘出错
{@link ErrorNumber#NET_DVR_NOSUPPORT}23设备不支持。
{@link ErrorNumber#NET_DVR_BUSY}24设备忙。
{@link ErrorNumber#NET_DVR_MODIFY_FAIL}25设备修改不成功。
{@link ErrorNumber#NET_DVR_PASSWORD_FORMAT_ERROR}26密码输入格式不正确
{@link ErrorNumber#NET_DVR_DISK_FORMATING}27硬盘正在格式化,不能启动操作。
{@link ErrorNumber#NET_DVR_DVRNORESOURCE}28设备资源不足。
{@link ErrorNumber#NET_DVR_DVROPRATEFAILED}29设备操作失败。
{@link ErrorNumber#NET_DVR_OPENHOSTSOUND_FAIL}30语音对讲、语音广播操作中采集本地音频或打开音频输出失败。
{@link ErrorNumber#NET_DVR_DVRVOICEOPENED}31设备语音对讲被占用。
{@link ErrorNumber#NET_DVR_TIMEINPUTERROR}32时间输入不正确。
{@link ErrorNumber#NET_DVR_NOSPECFILE}33回放时设备没有指定的文件。
{@link ErrorNumber#NET_DVR_CREATEFILE_ERROR}34创建文件出错。本地录像、保存图片、获取配置文件和远程下载录像时创建文件失败。
{@link ErrorNumber#NET_DVR_FILEOPENFAIL}35打开文件出错。设置配置文件、设备升级、上传审讯文件时打开文件失败。
{@link ErrorNumber#NET_DVR_OPERNOTFINISH}36上次的操作还没有完成。
{@link ErrorNumber#NET_DVR_GETPLAYTIMEFAIL}37获取当前播放的时间出错。
{@link ErrorNumber#NET_DVR_PLAYFAIL}38播放出错。
{@link ErrorNumber#NET_DVR_FILEFORMAT_ERROR}39文件格式不正确。
{@link ErrorNumber#NET_DVR_DIR_ERROR}40路径错误
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_AUDIO_MODE_ERROR}42声卡模式错误。当前打开声音播放模式与实际设置的模式不符出错。
{@link ErrorNumber#NET_DVR_NOENOUGH_BUF}43缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。
{@link ErrorNumber#NET_DVR_CREATESOCKET_ERROR}44创建SOCKET出错。
{@link ErrorNumber#NET_DVR_SETSOCKET_ERROR}45设置SOCKET出错。
{@link ErrorNumber#NET_DVR_MAX_NUM}46个数达到最大。分配的注册连接数、预览连接数超过SDK支持的最大数。
{@link ErrorNumber#NET_DVR_USERNOTEXIST}47用户不存在。注册的用户ID已注销或不可用。
{@link ErrorNumber#NET_DVR_WRITEFLASHERROR}48写FLASH出错。设备升级时写FLASH失败。
{@link ErrorNumber#NET_DVR_UPGRADEFAIL}49设备升级失败。网络或升级文件语言不匹配等原因升级失败。
{@link ErrorNumber#NET_DVR_CARDHAVEINIT}50解码卡已经初始化过。
{@link ErrorNumber#NET_DVR_PLAYERFAILED}51调用播放库中某个函数失败。
{@link ErrorNumber#NET_DVR_MAX_USERNUM}52登录设备的用户数达到最大。
{@link ErrorNumber#NET_DVR_GETLOCALIPANDMACFAIL}53获得本地PC的IP地址或物理地址失败。
{@link ErrorNumber#NET_DVR_NOENCODEING}54设备该通道没有启动编码。
{@link ErrorNumber#NET_DVR_IPMISMATCH}55IP地址不匹配。
{@link ErrorNumber#NET_DVR_MACMISMATCH}56MAC地址不匹配。
{@link ErrorNumber#NET_DVR_UPGRADELANGMISMATCH}57升级文件语言不匹配。
{@link ErrorNumber#NET_DVR_MAX_PLAYERPORT}58播放器路数达到最大。
{@link ErrorNumber#NET_DVR_NOSPACEBACKUP}59备份设备中没有足够空间进行备份。
{@link ErrorNumber#NET_DVR_NODEVICEBACKUP}60没有找到指定的备份设备。
{@link ErrorNumber#NET_DVR_PICTURE_BITS_ERROR}61图像素位数不符,限24色。
{@link ErrorNumber#NET_DVR_PICTURE_DIMENSION_ERROR}62图片高*宽超限,限128*256。
{@link ErrorNumber#NET_DVR_PICTURE_SIZ_ERROR}63图片大小超限,限100K。
{@link ErrorNumber#NET_DVR_LOADPLAYERSDKFAILED}64载入当前目录下Player Sdk出错。
{@link ErrorNumber#NET_DVR_LOADPLAYERSDKPROC_ERROR}65找不到Player Sdk中某个函数入口。
{@link ErrorNumber#NET_DVR_LOADDSSDKFAILED}66载入当前目录下DSsdk出错。
{@link ErrorNumber#NET_DVR_LOADDSSDKPROC_ERROR}67找不到DsSdk中某个函数入口。
{@link ErrorNumber#NET_DVR_DSSDK_ERROR}68调用硬解码库DsSdk中某个函数失败。
{@link ErrorNumber#NET_DVR_VOICEMONOPOLIZE}69声卡被独占。
{@link ErrorNumber#NET_DVR_JOINMULTICASTFAILED}70加入多播组失败。
{@link ErrorNumber#NET_DVR_CREATEDIR_ERROR}71建立日志文件目录失败。
{@link ErrorNumber#NET_DVR_BINDSOCKET_ERROR}72绑定套接字失败。
{@link ErrorNumber#NET_DVR_SOCKETCLOSE_ERROR}73socket连接中断,此错误通常是由于连接中断或目的地不可达。
{@link ErrorNumber#NET_DVR_USERID_ISUSING}74注销时用户ID正在进行某操作。
{@link ErrorNumber#NET_DVR_SOCKETLISTEN_ERROR}75监听失败。
{@link ErrorNumber#NET_DVR_PROGRAM_EXCEPTION}76程序异常。
{@link ErrorNumber#NET_DVR_WRITEFILE_FAILED}77写文件失败。本地录像、远程下载录像、下载图片等操作时写文件失败。
{@link ErrorNumber#NET_DVR_FORMAT_READONLY}78禁止格式化只读硬盘。
{@link ErrorNumber#NET_DVR_WITHSAMEUSERNAME}79远程用户配置结构中存在相同的用户名。
{@link ErrorNumber#NET_DVR_DEVICETYPE_ERROR}80导入参数时设备型号不匹配。
{@link ErrorNumber#NET_DVR_LANGUAGE_ERROR}81导入参数时语言不匹配。
{@link ErrorNumber#NET_DVR_PARAVERSION_ERROR}82导入参数时软件版本不匹配。
{@link ErrorNumber#NET_DVR_IPCHAN_NOTALIVE}83预览时外接IP通道不在线。
{@link ErrorNumber#NET_DVR_RTSP_SDK_ERROR}84加载标准协议通讯库StreamTransClient失败。
{@link ErrorNumber#NET_DVR_CONVERT_SDK_ERROR}85加载转封装库失败。
{@link ErrorNumber#NET_DVR_IPC_COUNT_OVERFLOW}86超出最大的IP接入通道数。
{@link ErrorNumber#NET_DVR_MAX_ADD_NUM}87添加录像标签或者其他操作超出最多支持的个数。
{@link ErrorNumber#NET_DVR_PARAMMODE_ERROR}88图像增强仪,参数模式错误(用于硬件设置时,客户端进行软件设置时错误值)。
{@link ErrorNumber#NET_DVR_CODESPITTER_OFFLINE}89码分器不在线。
{@link ErrorNumber#NET_DVR_BACKUP_COPYING}90设备正在备份。
{@link ErrorNumber#NET_DVR_CHAN_NOTSUPPORT}91通道不支持该操作。
{@link ErrorNumber#NET_DVR_CALLINEINVALID}92高度线位置太集中或长度线不够倾斜。
{@link ErrorNumber#NET_DVR_CALCANCELCONFLICT}93取消标定冲突,如果设置了规则及全局的实际大小尺寸过滤。
{@link ErrorNumber#NET_DVR_CALPOINTOUTRANGE}94标定点超出范围。
{@link ErrorNumber#NET_DVR_FILTERRECTINVALID}95尺寸过滤器不符合要求。
{@link ErrorNumber#NET_DVR_DDNS_DEVOFFLINE}96设备没有注册到ddns上。
{@link ErrorNumber#NET_DVR_DDNS_INTER_ERROR}97DDNS 服务器内部错误。
{@link ErrorNumber#NET_DVR_ALIAS_DUPLICATE}150别名重复(EasyDDNS的配置)
{@link ErrorNumber#NET_DVR_DEV_NET_OVERFLOW}800网络流量超过设备能力上限
{@link ErrorNumber#NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK}801录像文件在录像,无法被锁定
{@link ErrorNumber#NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK}802由于硬盘太小无法格式化
*

RTSP通讯库错误码

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_RTSP_ERROR_NOENOUGHPRI}401无权限:服务器返回401时,转成这个错误码
{@link ErrorNumber#NET_DVR_RTSP_ERROR_ALLOC_RESOURCE}402分配资源失败
{@link ErrorNumber#NET_DVR_RTSP_ERROR_PARAMETER}403参数错误
{@link ErrorNumber#NET_DVR_RTSP_ERROR_FORCE_STOP}406用户中途强行退出
{@link ErrorNumber#NET_DVR_RTSP_GETPORTFAILED}407获取RTSP端口错误
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBERROR}410RTSP DECRIBE交互错误
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBESENDTIMEOUT}411RTSP DECRIBE发送超时
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBESENDERROR}412RTSP DECRIBE发送失败
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBERECVTIMEOUT}413RTSP DECRIBE接收超时
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBERECVDATALOST}414RTSP DECRIBE接收数据错误
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBERECVERROR}415RTSP DECRIBE接收失败
{@link ErrorNumber#NET_DVR_RTSP_DESCRIBESERVERERR}416RTSP DECRIBE服务器返回401,501等错误
{@link ErrorNumber#NET_DVR_RTSP_SETUPSENDTIMEOUT}421RTSP SETUP发送超时
{@link ErrorNumber#NET_DVR_RTSP_SETUPSENDERROR}422RTSP SETUP发送错误
{@link ErrorNumber#NET_DVR_RTSP_SETUPRECVTIMEOUT}423RTSP SETUP接收超时
{@link ErrorNumber#NET_DVR_RTSP_SETUPRECVDATALOST}424RTSP SETUP接收数据错误
{@link ErrorNumber#NET_DVR_RTSP_SETUPRECVERROR}425RTSP SETUP接收失败
{@link ErrorNumber#NET_DVR_RTSP_OVER_MAX_CHAN}426设备超过最大连接数
{@link ErrorNumber#NET_DVR_RTSP_PLAYSENDTIMEOUT}431RTSP PLAY发送超时
{@link ErrorNumber#NET_DVR_RTSP_PLAYSENDERROR}432RTSP PLAY发送错误
{@link ErrorNumber#NET_DVR_RTSP_PLAYRECVTIMEOUT}433RTSP PLAT接收超时
{@link ErrorNumber#NET_DVR_RTSP_PLAYRECVDATALOST}434RTSP PLAY接收数据错误
{@link ErrorNumber#NET_DVR_RTSP_PLAYRECVERROR}435RTSP PLAY接收失败
{@link ErrorNumber#NET_DVR_RTSP_PLAYSERVERERR}436RTSP PLAY设备返回错误状态
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNSENDTIMEOUT}441RTSP TEARDOWN发送超时
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNSENDERROR}442RTSP TEARDOWN发送错误
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNRECVTIMEOUT}443RTSP TEARDOWN接收超时
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNRECVDATALOST}444RTSP TEARDOWN接收数据错误
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNRECVERROR}445RTSP TEARDOWN接收失败
{@link ErrorNumber#NET_DVR_RTSP_TEARDOWNSERVERERR}446RTSP TEARDOWN设备返回错误状态
*/ int NET_DVR_GetLastError(); /** * 返回最后操作的错误码信息。 *

通过{@link #NET_DVR_GetLastError}函数可获取错误号值。

* * @param pErrorNo 错误码数值的指针 * @return 返回值为错误码信息的指针。错误码主要分为网络通讯库错误码、RTSP通讯库错误码和软硬解库错误码。 * @see #NET_DVR_GetLastError */ String NET_DVR_GetErrorMsg(IntByReference pErrorNo); /** * 初始化SDK,调用其他SDK函数的前提。 * * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_GETLOCALIPANDMACFAIL}53获得本地PC的IP地址或物理地址失败。
* @see #NET_DVR_Cleanup */ int NET_DVR_Init(); /** * 释放SDK资源,在程序结束之前调用。 * * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} * @see #NET_DVR_Init */ int NET_DVR_Cleanup(); /** * 设置重连功能。 *

该接口可以同时控制预览、透明通道和布防的重连功能。 * 不调用该接口时,SDK默认启动预览、透明通道和布防的重连功能,重连时间间隔为5秒。

* * @param dwInterval 重连间隔,单位:毫秒 * @param bEnableRecon 是否重连,0-不重连,1-重连,参数默认值为1 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
*/ int NET_DVR_SetReconnect(int dwInterval, int bEnableRecon); /** * 注册接收异常、重连等消息的窗口句柄或回调函数。 * * @param reserved1 Linux下该参数保留 * @param reserved2 Linux下该参数保留 * @param fExceptionCallBack 接收异常消息的回调函数,回调当前异常的相关信息 * @param pUser 用户数据 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} */ int NET_DVR_SetExceptionCallBack_V30(int reserved1, Pointer reserved2, ExceptionCallBack fExceptionCallBack, Pointer pUser); /** * 用户注册设备。 *

如DS-7116、DS-81xx、DS-90xx、DS-91xx等系列设备允许有32个注册用户名,且同时最多允许128个用户注册; * 如DS-80xx等设备允许有16个注册用户名,且同时最多允许128个用户注册。

*

SDK支持512个注册,返回UserID逐一递增,从0到511之后又返回0,注销以及NET_DVR_Cleanup均没有初始化为0。

*

客户端发生异常离线时,设备端保留用户ID的有效时间是5分钟。

* * @param sDVRIP 设备IP地址 * @param wDVRPort 设备端口号 * @param sUserName 登录的用户名 * @param sPassword 用户密码 * @param lpDeviceInfo [out] 设备信息 * @return -1表示失败,其他值表示返回的用户ID值。 * 该用户ID具有唯一性,后续对设备的操作都需要通过此ID实现。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_PASSWORD_ERROR}1用户名密码错误。注册时输入的用户名或者密码错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_NETWORK_FAIL_CONNECT}7连接设备失败。设备不在线或网络原因引起的连接超时等。
{@link ErrorNumber#NET_DVR_NETWORK_SEND_ERROR}8向设备发送失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_ERROR}9从设备接收数据失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_TIMEOUT}10从设备接收数据超时。
{@link ErrorNumber#NET_DVR_COMMANDTIMEOUT}14设备命令执行超时。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_NOENOUGH_BUF}43缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。
{@link ErrorNumber#NET_DVR_CREATESOCKET_ERROR}44创建SOCKET出错。
{@link ErrorNumber#NET_DVR_MAX_NUM}46个数达到最大。分配的注册连接数、预览连接数超过SDK支持的最大数。
{@link ErrorNumber#NET_DVR_MAX_USERNUM}52登录设备的用户数达到最大。
{@link ErrorNumber#NET_DVR_BINDSOCKET_ERROR}72绑定套接字失败。
{@link ErrorNumber#NET_DVR_SOCKETCLOSE_ERROR}73socket连接中断,此错误通常是由于连接中断或目的地不可达。
* @see #NET_DVR_Logout_V30 */ int NET_DVR_Login_V30(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30.ByReference lpDeviceInfo); /** * 用户注销。 *

该接口强制停止该用户的所有操作和释放所有的资源,确保该ID对应的线程都安全退出,资源得到释放。 * 建议使用NET_DVR_Logout接口实现注销功能。

* * @param lUserID 用户ID号,{@link #NET_DVR_Login_V30}的返回值 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_NETWORK_FAIL_CONNECT}7连接设备失败。设备不在线或网络原因引起的连接超时等。
{@link ErrorNumber#NET_DVR_NETWORK_SEND_ERROR}8向设备发送失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_ERROR}9从设备接收数据失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_TIMEOUT}10从设备接收数据超时。
{@link ErrorNumber#NET_DVR_COMMANDTIMEOUT}14设备命令执行超时。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_CREATESOCKET_ERROR}44创建SOCKET出错。
{@link ErrorNumber#NET_DVR_USERNOTEXIST}47用户不存在。注册的用户ID已注销或不可用。
{@link ErrorNumber#NET_DVR_BINDSOCKET_ERROR}72绑定套接字失败。
{@link ErrorNumber#NET_DVR_SOCKETCLOSE_ERROR}73socket连接中断,此错误通常是由于连接中断或目的地不可达。
* @see #NET_DVR_Login_V30 */ int NET_DVR_Logout_V30(int lUserID); /** * 用户注销。 *

建议使用此接口实现注销功能。

* * @param lUserID 用户ID号,{@link #NET_DVR_Login_V30}的返回值 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_NETWORK_FAIL_CONNECT}7连接设备失败。设备不在线或网络原因引起的连接超时等。
{@link ErrorNumber#NET_DVR_NETWORK_SEND_ERROR}8向设备发送失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_ERROR}9从设备接收数据失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_TIMEOUT}10从设备接收数据超时。
{@link ErrorNumber#NET_DVR_COMMANDTIMEOUT}14设备命令执行超时。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_CREATESOCKET_ERROR}44创建SOCKET出错。
{@link ErrorNumber#NET_DVR_USERNOTEXIST}47用户不存在。注册的用户ID已注销或不可用。
{@link ErrorNumber#NET_DVR_BINDSOCKET_ERROR}72绑定套接字失败。
{@link ErrorNumber#NET_DVR_SOCKETCLOSE_ERROR}73socket连接中断,此错误通常是由于连接中断或目的地不可达。
* @see #NET_DVR_Login_V30 */ int NET_DVR_Logout(int lUserID); /** * 实时预览。 *

该接口中可以设置当前预览操作是否阻塞(通过bBlocked参数设置)。 * 若设为不阻塞,表示发起与设备的连接就认为连接成功,如果发生码流接收失败、播放失败等情况以预览异常的方式通知上层。 * 在循环播放的时候可以减短停顿的时间,与NET_DVR_RealPlay处理一致。 若设为阻塞,表示直到播放操作完成才返回成功与否。

*

该接口中的回调函数可以置为空,这样该函数将不回调码流数据给用户,不过用户仍可以通过接口{@link #NET_DVR_SetRealDataCallBack} * 或{@link #NET_DVR_SetStandardDataCallBack}注册捕获码流数据的回调函数以捕获码流数据。

*

客户端异常离线时,设备端对取流连接的保持时间为10秒。

* * @param lUserID NET_DVR_Login_V30的返回值 * @param lpClientInfo 预览参数 * @param cbRealDataCallBack 码流数据回调函数 * @param pUser 用户数据 * @param bBlocked 请求码流过程是否阻塞:0-否;1-是 * @return -1表示失败,其他值作为{@link #NET_DVR_StopRealPlay}等函数的句柄参数。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_PASSWORD_ERROR}1用户名密码错误。注册时输入的用户名或者密码错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_OVER_MAXLINK}5连接到设备的用户个数超过最大。
{@link ErrorNumber#NET_DVR_NETWORK_FAIL_CONNECT}7连接设备失败。设备不在线或网络原因引起的连接超时等。
{@link ErrorNumber#NET_DVR_NETWORK_SEND_ERROR}8向设备发送失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_ERROR}9从设备接收数据失败。
{@link ErrorNumber#NET_DVR_NETWORK_RECV_TIMEOUT}10从设备接收数据超时。
{@link ErrorNumber#NET_DVR_COMMANDTIMEOUT}14设备命令执行超时。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_NOENOUGH_BUF}43缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。
{@link ErrorNumber#NET_DVR_CREATESOCKET_ERROR}44创建SOCKET出错。
{@link ErrorNumber#NET_DVR_USERNOTEXIST}47用户不存在。注册的用户ID已注销或不可用。
{@link ErrorNumber#NET_DVR_LOADPLAYERSDKFAILED}64载入当前目录下Player Sdk出错。
{@link ErrorNumber#NET_DVR_LOADPLAYERSDKPROC_ERROR}65找不到Player Sdk中某个函数入口。
{@link ErrorNumber#NET_DVR_LOADDSSDKFAILED}66载入当前目录下DSsdk出错。
{@link ErrorNumber#NET_DVR_BINDSOCKET_ERROR}72绑定套接字失败。
{@link ErrorNumber#NET_DVR_SOCKETCLOSE_ERROR}73socket连接中断,此错误通常是由于连接中断或目的地不可达。
{@link ErrorNumber#NET_DVR_IPCHAN_NOTALIVE}83预览时外接IP通道不在线。
{@link ErrorNumber#NET_DVR_RTSP_SDK_ERROR}84加载标准协议通讯库StreamTransClient失败。
{@link ErrorNumber#NET_DVR_CONVERT_SDK_ERROR}85加载转封装库失败。
* @see #NET_DVR_StopRealPlay */ int NET_DVR_RealPlay_V30(int lUserID, NET_DVR_CLIENTINFO.ByReference lpClientInfo, RealDataCallBack_V30 cbRealDataCallBack, Pointer pUser, int bBlocked); /** * 停止预览。 * * @param lRealHandle 预览句柄,{@link #NET_DVR_RealPlay_V30}的返回值 *

推模式:预览句柄lStreamHandle,由NET_DVR_SetPreviewResponseCallBack注册的回调函数返回。

* @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} *

以下是该接口可能返回的错误值

* * * * * * * * * * * * * * *
错误类型错误值错误信息
{@link ErrorNumber#NET_DVR_NOERROR}0没有错误。
{@link ErrorNumber#NET_DVR_NOINIT}3SDK未初始化。
{@link ErrorNumber#NET_DVR_ORDER_ERROR}12调用次序错误。
{@link ErrorNumber#NET_DVR_PARAMETER_ERROR}17参数错误。SDK接口中给入的输入或输出参数为空。
{@link ErrorNumber#NET_DVR_ALLOC_RESOURCE_ERROR}41SDK资源分配错误。
{@link ErrorNumber#NET_DVR_LOADDSSDKPROC_ERROR}67找不到DsSdk中某个函数入口。
{@link ErrorNumber#NET_DVR_DSSDK_ERROR}68调用硬解码库DsSdk中某个函数失败。
{@link ErrorNumber#NET_DVR_LOADPLAYERSDKPROC_ERROR}65找不到Player Sdk中某个函数入口。
* @see #NET_DVR_RealPlay_V30 */ int NET_DVR_StopRealPlay(int lRealHandle); /** * 注册回调函数,捕获实时码流数据。 *

此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbRealDataCallBack设为非NULL值时,表示回调和处理数据; * 当设为NULL时表示停止回调和处理数据。回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是压缩的码流。 * 回调数据最大为256K字节。

* * @param lRealHandle {@link #NET_DVR_RealPlay_V30}的返回值 * @param cbRealDataCallBack 码流数据回调函数 * @param dwUser 用户数据 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} * @see #NET_DVR_RealPlay_V30 */ int NET_DVR_SetRealDataCallBack(int lRealHandle, RealDataCallBack cbRealDataCallBack, int dwUser); /** * 注册回调函数,捕获实时码流数据(标准码流)。 *

此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbStdDataCallBack设为非NULL值时,表示回调和处理数据; * 当设为NULL时表示停止回调和处理数据。回调的第一个包是40个字节的文件头,供后续解码使用, * 之后回调的是标准码流(含12字节的RTP头)。

*

此函数目前仅支持对于支持RTSP协议取流的设备的标准码流回调。

* * @param lRealHandle {@link #NET_DVR_RealPlay_V30}的返回值 * @param cbStdDataCallBack 标准码流回调函数 * @param dwUser 用户数据 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} * @see #NET_DVR_RealPlay_V30 */ int NET_DVR_SetStandardDataCallBack(int lRealHandle, RealDataCallBack cbStdDataCallBack, int dwUser); /** * 重启设备。 * * @param lUserID 用户ID号,{@link #NET_DVR_Login_V30}的返回值 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} */ int NET_DVR_RebootDVR(int lUserID); /** * 关闭设备。 * * @param lUserID 用户ID号,{@link #NET_DVR_Login_V30}的返回值 * @return {@link #TRUE}表示成功,{@link #FALSE}表示失败。 * 获取错误码调用{@link #NET_DVR_GetLastError} */ int NET_DVR_ShutDownDVR(int lUserID); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy