设备网络SDK开发使用手册

NET_DVR_PlayBackControl

控制录像回放的状态。

BOOL NET_DVR_PlayBackControl(
  LONG     lPlayHandle,
  DWORD    dwControlCode,
  DWORD    dwInValue,
  DWORD    *lpOutValue
);

Parameters

lPlayHandle
[in] 播放句柄,NET_DVR_PlayBackByName或NET_DVR_PlayBackByTime的返回值
dwControlCode
[in] 控制录像回放状态命令,见下表
宏定义 宏定义值 含义
NET_DVR_PLAYSTART 1 开始播放
NET_DVR_PLAYPAUSE 3 暂停播放
NET_DVR_PLAYRESTART 4 恢复播放(在暂停后调用将恢复暂停前的速度播放)
NET_DVR_PLAYFAST 5 快放
NET_DVR_PLAYSLOW 6 慢放
NET_DVR_PLAYNORMAL 7 正常速度播放
NET_DVR_PLAYFRAME 8 单帧放(恢复正常回放使用NET_DVR_PLAYNORMAL命令)
NET_DVR_PLAYSTARTAUDIO 9 打开声音
NET_DVR_PLAYSTOPAUDIO 10 关闭声音
NET_DVR_PLAYAUDIOVOLUME 11 调节音量,取值范围[0,0xffff]
NET_DVR_PLAYSETPOS 12 改变文件回放的进度
NET_DVR_PLAYGETPOS 13 获取文件回放的进度
NET_DVR_PLAYGETTIME 14 获取当前已经播放的时间(按文件回放的时候有效)
NET_DVR_PLAYGETFRAME 15 获取当前已经播放的帧数(按文件回放的时候有效)
NET_DVR_GETTOTALFRAMES 16 获取当前播放文件总的帧数(按文件回放的时候有效)
NET_DVR_GETTOTALTIME 17 获取当前播放文件总的时间(按文件回放的时候有效)
NET_DVR_THROWBFRAME 20 丢B帧
dwInValue
[in] 设置的参数,如设置文件回放的进度(命令值NET_DVR_PLAYSETPOS)时,此参数表示进度值;如开始播放(命令值NET_DVR_PLAYSTART)时,此参数表示断点续传的文件位置(Byte)
lpOutValue
[out] 获取的参数,如获取当前播放文件总的时间(命令值NET_DVR_GETTOTALTIME ),此参数就是得到的总时间

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、NET_DVR_PLAYGETTIME、NET_DVR_PLAYGETFRAME、NET_DVR_GETTOTALFRAMES和NET_DVR_GETTOTALTIME都能通过该参数得到对应的值,详见下表所示。其中当命令值为NET_DVR_PLAYGETPOS时,获取文件回放或者下载进度时,0-100表示正常的进度值,大于100的值表示回放或者下载异常。
状态命令宏定义 状态命令说明 dwInValue lpOutValue
NET_DVR_PLAYSTART 开始播放 一个4字节整型的偏移量
NET_DVR_PLAYSETPOS 改变回放的进度 一个4字节整型的进度值(0-100)
NET_DVR_PLAYGETPOS 获取回放的进度 一个4字节整型的进度值(0-100)
NET_DVR_PLAYGETTIME 获取当前已播放的时间(按文件回放有效) 一个4字节整型值
NET_DVR_PLAYGETFRAME 获取当前已播放的帧数(按文件回放有效) 一个4字节整型值
NET_DVR_GETTOTALFRAMES 获取当前播放文件总的帧数(按文件回放有效) 一个4字节整型值
NET_DVR_GETTOTALTIME 获取当前播放文件总的时间(按文件回放有效) 一个4字节整型值

Remarks

See Also

NET_DVR_PlayBackByName  NET_DVR_PlayBackByTime

Reference Interface

扩展接口可见

NET_DVR_PlayBackControl_V40