using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Video.DirectCapture; namespace Tango.MachineStudio.Common.Video { /// /// Represents the default implementation of . /// /// public class DefaultVideoCaptureProvider : IVideoCaptureProvider { /// /// Gets the available capture devices. /// public ObservableCollection AvailableCaptureDevices { get; private set; } /// /// Initializes a new instance of the class. /// public DefaultVideoCaptureProvider() { AvailableCaptureDevices = new ObservableCollection(); var availableDevices = CaptureDevice.GetAvailableCaptureDevices(); for (int i = 0; i < 3; i++) { if (i > availableDevices.Count - 1) { AvailableCaptureDevices.Add(new CaptureDevice() { Device = null }); } else { AvailableCaptureDevices.Add(new CaptureDevice() { Device = availableDevices[i] }); } } } } }