
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_NOERROR 0 没有错误
* 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登录)
*
*
* 参数值 代表含义
*
*
* 0 TCP方式登入
* 2 主动注册登入
* 3 组播方式下的登入
* 4 UDP方式登入
* 6 只建立主连接登陆方式
* 7 SSL加密登录
* 8 成都佳发登陆
* 9 登录远程设备,这个时候void* pCapParam填入远程设备的名字的字符串
* 12 LDAP方式登录
* 13 AD方式登录
*
*
* @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标准数据
* 0x00000004 YUV数据
* 0x00000008 PCM数据
* 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