设备网络SDK开发使用手册

NET_DVR_PlayBackControl_V40

控制录像下载的状态。

BOOL NET_DVR_PlayBackControl_V40(
  LONG      lPlayHandle,
  DWORD     dwControlCode,
  LPVOID    lpInBuffer,
  DWORD     dwInLen,
  LPVOID    lpOutBuffer,
  DWORD     *lpOutLen
);

Parameters

lPlayHandle
[in] 下载句柄,NET_DVR_GetFileByName或NET_DVR_GetFileByTime_V40的返回值
dwControlCode
[in] 控制录像下载状态命令,见下表
宏定义 宏定义值 含义
NET_DVR_PLAYSTART 1 开始下载
NET_DVR_PLAYPAUSE 3 暂停下载
NET_DVR_PLAYRESTART 4 恢复下载
NET_DVR_PLAYSETPOS 12 改变按文件下载的进度(不支持按时间下载)
NET_DVR_PLAYGETPOS 13 获取按文件或者按时间下载的进度
NET_DVR_GETTOTALFRAMES 16 获取当前下载文件总的帧数(按文件下载的时候有效)
NET_DVR_GETTOTALTIME 17 获取当前下载文件总的时间(按文件下载的时候有效)
NET_DVR_SETSPEED 24 设置下载速度,速度单位:kbps,最小为256kbps,最大为设备带宽
NET_DVR_SET_TRANS_TYPE 32 设置转封装类型
NET_DVR_PLAY_CONVERT 33 转码下载
lpInBuffer
[in] 指向输入参数的指针
dwInLen
[in] 输入参数的长度。未使用,保留
lpOutBuffer
[out] 指向输出参数的指针
lpOutLen
[out] 输出参数的长度

Return Values

TRUE表示成功,FALSE表示失败。接口返回失败请调用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_NOSUPPORT 23 设备不支持。
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连接中断,此错误通常是由于连接中断或目的地不可达。

Remarks

  • 该接口中的第三个参数是否需要输入数值与控制命令有关,详见下表所示。
        当控制命令是开始下载(即NET_DVR_PLAYSTART)时,第三个参数的值表示下载当前文件的偏移量,若该值为0表示从文件的起始位置下载,若该值不为0则表示断点续传的文件位置(Byte)。
        当命令值为NET_DVR_PLAYGETPOS时,获取文件回放或者下载进度时,0-100表示正常的进度值,大于100的值表示回放或者下载异常。
  • 按时间下载时,只能获取进度值:0、100(结束)、200(异常)。
  • NET_DVR_SET_TRANS_TYPE设置转码类型和NET_DVR_PLAY_CONVERT转码下载需要在开始下载(即NET_DVR_PLAYSTART)之前调用。
  • 状态命令宏定义 状态命令说明 lpInBuf lpOutBuf
    NET_DVR_PLAYSTART 开始下载 一个4字节整型的偏移量
    NET_DVR_PLAYSETPOS 改变下载的进度 一个4字节整型的进度值(0-100)
    NET_DVR_PLAYGETPOS 获取下载的进度 一个4字节整型的进度值(0-100)
    NET_DVR_GETTOTALFRAMES 获取当前下载文件总的帧数(按文件回放有效) 一个4字节整型的帧数值
    NET_DVR_GETTOTALTIME 获取当前下载文件总的时间(按文件回放有效) 一个4字节整型的时间值
    NET_DVR_SETSPEED 设置下载速度 一个4字节整型的速度值
    NET_DVR_SET_TRANS_TYPE 设置转封装类型 一个4字节整型的封装类型:1-PS,2-TS,3-RTP,5-MP4(3GPP,仅按文件下载支持)
    NET_DVR_PLAY_CONVERT 回放转码 NET_DVR_COMPRESSION_INFO_V30

    See Also

    NET_DVR_GetFileByName  NET_DVR_GetFileByTime_V40

    Reference Interface

    该接口扩展源于

    NET_DVR_PlayBackControl