Example #1
0
        /// <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);
        }
Example #2
0
 public static extern IntPtr CLIENT_RealPlayEx(IntPtr lLoginID, int nChannelID, IntPtr hWnd, EM_RealPlayType rType);
Example #3
0
 public static extern IntPtr CLIENT_StartRealPlay(IntPtr lLoginID, int nChannelID, IntPtr hWnd, EM_RealPlayType rType, fRealDataCallBackEx cbRealData, fRealPlayDisConnectCallBack cbDisconnect, IntPtr dwUser, uint dwWaitTime);