C# 海康网络硬盘录像机开发监控
菜鸟一枚,根据官网文档,在调用预览视频的时候,预览的设备通道号,是录像机模拟路数的1-4吗,设备是4路的,为什么现在1-4都试了,还是报接受数据失败或者此设备不存在该通道号。ps(现在设备已经连了两个摄像头,我现在预览传的一个窗口句柄,一个通道数,是否会显示两路画面)
CHCNetSDK.NET_DVR_PREVIEWINFO lpPreviewInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO();
lpPreviewInfo.hPlayWnd = RealPlayWnd.Handle;//预览窗口
lpPreviewInfo.lChannel = Int16.Parse(textBoxChannel.Text.Trim());//预te览的设备通道
lpPreviewInfo.dwStreamType = 0;//码流类型:0-主码流,1-子码流,2-码流3,3-码流4,以此类推
lpPreviewInfo.dwLinkMode = 0;//连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP
lpPreviewInfo.bBlocked = true; //0- 非阻塞取流,1- 阻塞取流
lpPreviewInfo.dwDisplayBufNum = 15; //播放库播放缓冲区最大缓冲帧数
CHCNetSDK.REALDATACALLBACK RealData = new CHCNetSDK.REALDATACALLBACK(RealDataCallBack);//预览实时流回调函数
IntPtr pUser = new IntPtr();//用户数据
//打开预览 Start live view
m_lRealHandle = CHCNetSDK.NET_DVR_RealPlay_V40(m_lUserID, ref lpPreviewInfo, null/*RealData*/, pUser);
if (m_lRealHandle < 0)
{
iLastErr = CHCNetSDK.NET_DVR_GetLastError();
str = "NET_DVR_RealPlay_V40 failed, error code= " + iLastErr; //预览失败,输出错误号
MessageBox.Show(str);
return;
}