设备网络SDK开发使用手册

NET_DVR_SetPlayDataCallBack_V40

注册回调函数,捕获录像数据。

BOOL NET_DVR_SetPlayDataCallBack_V40(
  LONG                 lPlayHandle,
  fPlayDataCallBack    cbPlayDataCallBack,
  void                 *pUser
);

Parameters

lPlayHandle
[in] 播放句柄,NET_DVR_PlayBackByName、NET_DVR_PlayBackByTime_V40或NET_DVR_PlayBackReverseByName、NET_DVR_PlayBackReverseByTime_V40的返回值
fPlayDataCallBack
[in] 录像数据回调函数
pUser
[in] 用户数据

Callback Function

typedef void(CALLBACK *fPlayDataCallBack_V40)(
  LONG      lPlayHandle,
  DWORD     dwDataType,
  BYTE      *pBuffer,
  DWORD     dwBufSize,
  void      *pUser
);

Callback Function Parameters

lPlayHandle
[out] 当前的录像播放句柄
dwDataType
[out] 数据类型
宏定义 宏定义值 含义
NET_DVR_SYSHEAD 1 系统头数据
NET_DVR_STREAMDATA 2 流数据(包括复合流或音视频分开的视频流数据)
NET_DVR_CHANGE_FORWARD 10 码流改变为正放
NET_DVR_CHANGE_REVERSE 11 码流改变为倒放
pBuffer
[out] 存放数据的缓冲区指针
dwBufSize
[out] 缓冲区大小
pUser
[out] 用户数据

Return Values

TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

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

错误类型 错误值 错误信息
NET_DVR_NOERROR 0 没有错误。
NET_DVR_NOINIT 3 SDK未初始化。

Remarks

  • cbPlayDataCallBack回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该SDK(HCNetSDK.dll)本身的接口。
  • 此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbPlayDataCallBack设为非NULL值时,表示回调和处理数据;当设为NULL时表示停止回调和处理数据。回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是压缩的码流。
  • See Also

    NET_DVR_PlayBackByName  NET_DVR_PlayBackByTime_V40

    NET_DVR_PlayBackReverseByName  NET_DVR_PlayBackReverseByTime_V40

    Reference Interface

    该接口扩展源于
    NET_DVR_SetPlayDataCallBack