private bool Ezviz_VideoPlay()
        {
            bool bolResult = false;
            int  intLenght = 0;
            int  intResult = 0;
            //CurrentVideoInfo.NetworkState = SDK_EzvizSDK.GetDevOnlineState(CurrentVideoInfo.DVSAddress, CurrentCameraInfo.Channel);
            int Temp_intResult = SDK_EzvizSDK.GetDevOnlineState(CurrentVideoInfo.DVSAddress, CurrentCameraInfo.Channel);

            if (Temp_intResult == -2)
            {
                //设备无权限
                VideoPlayCallback(new VideoPlayCallbackValue {
                    evType = Enum_VideoPlayEventType.NoDeviceAuthority
                });
                return(bolResult);
            }
            CurrentVideoInfo.NetworkState = Temp_intResult;
            if (Temp_intResult == 0)
            {
                //设备离线
                VideoPlayCallback(new VideoPlayCallbackValue {
                    evType = Enum_VideoPlayEventType.VideoDeviceNotOnline
                });
                return(bolResult);
            }
            //状态未明进行连接
            callBack         = new SDK_EzvizSDK.MsgHandler(Ezviz_MsgCallback);
            Ezviz_gchMsgBack = GCHandle.Alloc(callBack);
            strUser          = CurrentVideoInfo.DVSAddress + "_" + CurrentCameraInfo.Channel;
            iUser            = Marshal.StringToHGlobalAnsi(strUser);
            VideoPlayState   = Enum_VideoPlayState.Connecting;
            intResult        = SDK_EzvizSDK.OpenSDK_AllocSessionEx(callBack, iUser, out intptrSessionID, out intLenght);
            if (CurrentVideoPlaySet.VideoRecordEnable)
            {
                //录像启用
                strRealSavePath = GetLocalSavePath(CurrentVideoPlaySet.VideoRecordFilePath, CurrentVideoPlaySet.VideoRecordFileName);
                if (!Directory.Exists(CurrentVideoPlaySet.VideoRecordFilePath))
                {
                    Directory.CreateDirectory(CurrentVideoPlaySet.VideoRecordFilePath);
                }
                Ezviz_DataCallBack   = new SDK_EzvizSDK.DataCallBack(Ezviz_DataCallBackEvent);
                Ezviz_gchVideoRecord = GCHandle.Alloc(Ezviz_DataCallBack);
                intResult            = SDK_EzvizSDK.OpenSDK_SetDataCallBack(intptrSessionID, Ezviz_DataCallBack, iUser);
                VideoRecordStatus    = true;
            }
            IntPtr intptrdevSerial = Marshal.StringToHGlobalAnsi(CurrentVideoInfo.DVSAddress);

            if (CurrentVideoInfo.DVSAddress.StartsWith("C"))
            {
                intResult = SDK_EzvizSDK.OpenSDK_StartPlayWithStreamType(intptrSessionID, intptrPlayMain, intptrdevSerial, CurrentCameraInfo.Channel, CurrentVideoInfo.Password, -1);
            }
            else
            {
                intResult = SDK_EzvizSDK.OpenSDK_StartRealPlayEx(intptrSessionID, intptrPlayMain, intptrdevSerial, CurrentCameraInfo.Channel, CurrentVideoInfo.Password);
            }
            if (intResult == 0)
            {
                VideoPlayCallback(new VideoPlayCallbackValue {
                    evType = Enum_VideoPlayEventType.ConnSuccess
                });
            }
            else
            {
                VideoPlayCallback(new VideoPlayCallbackValue {
                    evType = Enum_VideoPlayEventType.ConnFailed
                });
            }
            return(bolResult);
        }