Esempio n. 1
0
        public bool OpenDevice()
        {
            if (IsOpen)
            {
                return(IsOpen);
            }

            IsOpen = OpenVideoDevice();
            if (IsOpen)
            {
                int width = 0, height = 0, format = 0;
                VsNetCameraSdk.Camera_GetInfo(_handle, ref width, ref height, ref format);
                Width  = width;
                Height = height;
                Format = (VideoDeviceDataFormat)format;
                if (_buffer == null)
                {
                    _buffer = new byte[GetBufferSize()];
                }

                //TODO 应使用配置
                _frameRate = FrameRateSetting.GetCameraFrameRate(width + height);

                StartPullDeviceData();
            }
            return(IsOpen);
        }
Esempio n. 2
0
        internal VideoDevice(string videoDeviceName, int id, ILoggerFacade logger)
        {
            ID   = id;
            Name = videoDeviceName;

            _logger = logger;
            _handle = VsNetCameraSdk.Camera_AllocInstance();
            SetDeviceAvailableStatus();
        }
Esempio n. 3
0
        public bool CloseDevice()
        {
            if (!IsOpen)
            {
                return(true);
            }

            StopPullDeviceData();
            IsOpen = false;
            VsNetCameraSdk.Camera_CloseCamera(_handle);

            return(true);
        }
Esempio n. 4
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         if (disposing)
         {
             CloseDevice();
             _buffer = null;
         }
         VsNetCameraSdk.Camera_FreeInstance(_handle);
         disposedValue = true;
     }
 }
Esempio n. 5
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         if (disposing)
         {
             foreach (var videoDevice in _videoDeviceList)
             {
                 videoDevice.Dispose();
             }
         }
         VsNetCameraSdk.Camera_FreeInstance(_handle);
         disposedValue = true;
     }
 }
Esempio n. 6
0
 private int GetVideoDeviceTotal()
 {
     return(VsNetCameraSdk.Camera_GetCount(_handle));
 }
Esempio n. 7
0
 private string GetVideoDeviceName(int index)
 {
     byte[] b = new byte[50];
     VsNetCameraSdk.Camera_GetName(_handle, index, ref b[0]);
     return(b.GetString());
 }
Esempio n. 8
0
 public VideoDeviceManager(ILoggerFacade logger)
 {
     _logger          = logger;
     _handle          = VsNetCameraSdk.Camera_AllocInstance();
     _videoDeviceList = GetVideoDeviceList();
 }
Esempio n. 9
0
 private bool OpenVideoDevice()
 {
     return(VsNetCameraSdk.Camera_OpenCamera(_handle, ID, false, 0, 0));
 }
Esempio n. 10
0
 private void CloseVideoDevice()
 {
     VsNetCameraSdk.Camera_CloseCamera(_handle);
 }
Esempio n. 11
0
 private IntPtr GetDeviceBitmapInfoHeader()
 {
     return(VsNetCameraSdk.Camera_GetInfoEx(_handle));
 }
Esempio n. 12
0
 private void GetDeviceData(ref byte[] b)
 {
     VsNetCameraSdk.Camera_QueryFrame(_handle, ref b[0], b.Length);
 }