/// <summary> /// Initialize video device. /// </summary> /// <param name="videoDeviceSourceId">Video device source Id.</param> /// <exception cref="InvalidOperationException">Throws invalid operation exception if video device source setup fails.</exception> private void InitializeVideoDevice(string videoDeviceSourceId) { if (isVideoSourceInitialized) { return; } var errorAction = new Action(() => SetVideoPlayer(false, "Unable to set video device source")); ReleaseVideoDevice(); if (string.IsNullOrEmpty(videoDeviceSourceId)) { return; } if (videoDeviceSourceId.StartsWith("Message:", StringComparison.OrdinalIgnoreCase)) { var splitString = videoDeviceSourceId.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries); if (splitString.Length == 2) { SetVideoPlayer(false, splitString[1]); } else { SetVideoPlayer(false); } } else { try { if (!VideoDevices.Any(item => item.UsbId.Equals(videoDeviceSourceId))) { return; } videoCaptureDevice = new VideoCaptureDevice(videoDeviceSourceId); VideoSourcePlayer.VideoSource = videoCaptureDevice; VideoSourcePlayer.Start(); isVideoSourceInitialized = true; SetVideoPlayer(true); } catch (ArgumentNullException) { errorAction(); } catch (ArgumentException) { errorAction(); } } }
private void GetVideoDevices() { var devices = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo device in devices) { VideoDevices.Add(device); } if (VideoDevices.Any()) { CurrentDevice = VideoDevices[0]; } }
public List <FilterInfo> GetVideoDevices() { var devices = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo device in devices) { VideoDevices.Add(device); } if (VideoDevices.Any()) { CurrentDevice = VideoDevices[0]; } return(VideoDevices); }
private void GetVideoDevices() { var devices = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo device in devices) { VideoDevices.Add(device); } if (VideoDevices.Any()) { CurrentDevice = VideoDevices[0]; } else { MessageBox.Show("No webcam found"); } }