class FRealDataCallBack implements HCNetSDK.FRealDataCallBack_V30
{
//预览回调
public void invoke(NativeLong lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, Pointer pUser)
{
HWND hwnd =hwand;
switch (dwDataType)
{
case HCNetSDK.NET_DVR_SYSHEAD: //系统头
if (!playControl.PlayM4_GetPort(m_lPort)) //获取播放库未使用的通道号
{
break;
}
if (dwBufSize > 0)
{
if (!playControl.PlayM4_SetStreamOpenMode(m_lPort.getValue(), PlayCtrl.STREAME_REALTIME)) //设置实时流播放模式
{
break;
}
if (!playControl.PlayM4_OpenStream(m_lPort.getValue(), pBuffer, dwBufSize, 1024 * 1024)) //打开流接口
{
break;
}
if (!playControl.PlayM4_Play(m_lPort.getValue(), hwnd)) //播放开始
{
break;
}
}
case HCNetSDK.NET_DVR_STREAMDATA: //码流数据
if ((dwBufSize > 0) && (m_lPort.getValue().intValue() != -1))
{
if (!playControl.PlayM4_InputData(m_lPort.getValue(), pBuffer, dwBufSize)) //输入流数据
{
break;
}
}
}
}
回调函数里的pBuffer是否就是流数据,对于实时预览要如何处理流数据的转发
您好,您这块儿做完了吗,我在做回放调用回调方法时报错:
unsupported argument type PlayDataCallBack at parameter 1 of function NET_DVR_SetPlayDataCallBack with root cause
PlayDataCallBack 实现了HCNetSDK.FPlayDataCallBack接口,您知道什么问题吗,如果方便的话,能发一下您这块儿的代码吗