Esempio n. 1
0
        public async Task <int> StopRealPreview()
        {
            if (m_lReadHandle < 0)
            {
                LoggerService.logger.Error($"摄像头{ip},未启动过预览。");
                return(-1);
            }

            if (!HKNetSDKS.NET_DVR_StopRealPlay(m_lReadHandle))
            {
                LoggerService.logger.Error($"摄像头{ip},播放器无法停止预览。错误代码:{HKNetSDKS.NET_DVR_GetLastError()}");
            }

            if (m_lPort >= 0)
            {
                if (!HKPlayCtrlSDK.PlayM4_Stop(m_lPort))
                {
                    LoggerService.logger.Error($"摄像头{ip},播放器无法停止工作。错误代码:{HKPlayCtrlSDK.PlayM4_GetLastError(m_lPort)}");
                }

                if (!HKPlayCtrlSDK.PlayM4_CloseStream(m_lPort))
                {
                    LoggerService.logger.Error($"摄像头{ip},播放器无法关闭数据流。错误代码:{HKPlayCtrlSDK.PlayM4_GetLastError(m_lPort)}");
                }
                if (!HKPlayCtrlSDK.PlayM4_FreePort(m_lPort))
                {
                    LoggerService.logger.Error($"摄像头{ip},播放器无法释放播放端口。错误代码:{HKPlayCtrlSDK.PlayM4_GetLastError(m_lPort)}");
                }

                m_lPort = -1;
            }


            LoggerService.logger.Info($"摄像头{ip},已停止预览。");

            m_lReadHandle = -1;
            Statue        = CameraStatue.StopReadPlay;
            if (PictrueBoxId != null)
            {
                PictrueBoxId.Invalidate();
                PictrueBoxId = null;
            }
            return(0);
        }