/// <summary> /// 監控預覽 /// </summary> /// <param name="m_LoginID"></param> /// <param name="nChannelID"></param> /// <param name="Handle"></param> /// <param name="Type"></param> /// <returns></returns> public IntPtr StartRealplay(IntPtr m_LoginID, int nChannelID, IntPtr Handle, EM_RealPlayType Type) { if (IntPtr.Zero == m_RealPlayID) { // realplay 监视 EM_RealPlayType newtype; if (Type == 0) { newtype = EM_RealPlayType.Realplay;//枚舉,多畫面預覽 } else { newtype = EM_RealPlayType.Realplay_1;//枚舉,碼流1讀取 } //預覽--> 登陆ID,Login返回值, 通道号,显示窗口句柄, 监视类型 m_RealPlayID = NETClient.RealPlay(m_LoginID, nChannelID, Handle, newtype); if (IntPtr.Zero == m_RealPlayID)//返回0為失敗 { return(IntPtr.Zero); } // 设置实时监视数据回调-->监视句柄,回调函数,用户数据,回调数据类型,返回BOOl NETClient.SetRealDataCallBack(m_RealPlayID, m_RealDataCallBackEx2, IntPtr.Zero, EM_REALDATA_FLAG.DATA_WITH_FRAME_INFO | EM_REALDATA_FLAG.PCM_AUDIO_DATA | EM_REALDATA_FLAG.RAW_DATA | EM_REALDATA_FLAG.YUV_DATA); } return(m_RealPlayID); }
public static extern IntPtr CLIENT_RealPlayEx(IntPtr lLoginID, int nChannelID, IntPtr hWnd, EM_RealPlayType rType);
public static extern IntPtr CLIENT_StartRealPlay(IntPtr lLoginID, int nChannelID, IntPtr hWnd, EM_RealPlayType rType, fRealDataCallBackEx cbRealData, fRealPlayDisConnectCallBack cbDisconnect, IntPtr dwUser, uint dwWaitTime);