设备网络SDK开发使用手册 |
按时间回放录像文件。
LONG NET_DVR_PlayBackByTime( LONG lUserID, LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd );
-1表示失败,其他值作为NET_DVR_StopPlayBack等函数的参数。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。
以下是该接口可能返回的错误值
错误类型 | 错误值 | 错误信息 |
---|---|---|
NET_DVR_NOERROR | 0 | 没有错误。 |
NET_DVR_PASSWORD_ERROR | 1 | 用户名密码错误。注册时输入的用户名或者密码错误。 |
NET_DVR_NOINIT | 3 | SDK未初始化。 |
NET_DVR_OVER_MAXLINK | 5 | 连接到设备的用户个数超过最大。 |
NET_DVR_NETWORK_FAIL_CONNECT | 7 | 连接设备失败。设备不在线或网络原因引起的连接超时等。 |
NET_DVR_NETWORK_SEND_ERROR | 8 | 向设备发送失败。 |
NET_DVR_NETWORK_RECV_ERROR | 9 | 从设备接收数据失败。 |
NET_DVR_NETWORK_RECV_TIMEOUT | 10 | 从设备接收数据超时。 |
NET_DVR_COMMANDTIMEOUT | 14 | 设备命令执行超时。 |
NET_DVR_PARAMETER_ERROR | 17 | 参数错误。SDK接口中给入的输入或输出参数为空。 |
NET_DVR_NOSPECFILE | 33 | 回放时设备没有指定的文件。 |
NET_DVR_ALLOC_RESOURCE_ERROR | 41 | SDK资源分配错误。 |
NET_DVR_NOENOUGH_BUF | 43 | 缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。 |
NET_DVR_CREATESOCKET_ERROR | 44 | 创建SOCKET出错。 |
NET_DVR_LOADPLAYERSDKFAILED | 64 | 载入当前目录下Player Sdk出错。 |
NET_DVR_LOADPLAYERSDKPROC_ERROR | 65 | 找不到Player Sdk中某个函数入口。 |
NET_DVR_LOADDSSDKFAILED | 66 | 载入当前目录下DSsdk出错。 |
NET_DVR_BINDSOCKET_ERROR | 72 | 绑定套接字失败。 |
NET_DVR_SOCKETCLOSE_ERROR | 73 | socket连接中断,此错误通常是由于连接中断或目的地不可达。 |
该接口指定了当前要播放的录像文件,调用成功后,还必须调用NET_DVR_PlayBackControl接口的开始播放控制命令(NET_DVR_PLAYSTART)才能实现回放。
当回放的是按事件搜索出的录像文件时,由于每个文件都会有预录和延迟的部分,因此在设置本接口的开始和结束时间参数时可以适当提前开始时间和延长结束时间。
建议值:最多10分钟,最少5秒。
在调用该接口成功后,可以通过接口NET_DVR_SetPlayDataCallBack注册回调函数,捕获录像的码流数据并自行处理。
Linux下
对于4.1或者以上的版本的SDK,HWND表示播放窗口的句柄,定义为:
typedef unsigned int HWND;
如果使用Qt进行界面开发,示例如下:
NET_DVR_CLIENTINFO tmpclientinfo;
tmpclientinfo.hPlayWnd = (HWND)m_framePlayWnd->GetPlayWndId();
对于4.1以前的版本的SDK,HWND定义如下:
typedef struct __PLAYRECT
{
int x; //显示框左上角横坐标
int y; //显示框左上角纵坐标
int uWidth; //显示框宽度
int uHeight; //显示框高度
}PLAYRECT;
typedef PLAYRECT HWND;
NET_DVR_CLIENTINFO结构中的hPlayWnd = {0}则SDK仍取流,不进行解码显示,所以仍可以录像,但是不能设置hPlayWnd = 0(即NULL),否则非法结构地址会导致调用hPlayWnd.x等去判断的时候崩溃。
NET_DVR_PlayBackControl NET_DVR_StopPlayBack NET_DVR_SetPlayDataCallBack
NET_DVR_Login NET_DVR_Login_V40
扩展接口可见