VintaSoft Imaging .NET SDK 15.1: Документация для .NET разработчика
Vintasoft.Imaging.Media Namespace / ImageCaptureDevicesMonitor Class
Члены типа Объект Синтаксис Example Иерархия Требования Смотрите также
В этом разделе
Класс ImageCaptureDevicesMonitor
В этом разделе
Отслеживает устройства захвата изображения, доступные в системе.
Объектная модель
ImageCaptureDevicesMonitor
Синтаксис
'Declaration

Public Class ImageCaptureDevicesMonitor

public class ImageCaptureDevicesMonitor

Пример

Вот C#/VB.NET код, который демонстрирует, как отслеживать удаленные/добавленные камеры в системе:


Class ImageCaptureDeviceMonitor_Example
    Public Shared Sub Test()
        ' create monitor
        Dim monitor As New Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor()
        AddHandler monitor.CaptureDevicesChanged, New System.EventHandler(Of Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs)(AddressOf monitor_CaptureDevicesChanged)
        monitor.Timeout = 500

        ' show information about available devices
        Dim availableDevices As System.Collections.ObjectModel.ReadOnlyCollection(Of Vintasoft.Imaging.Media.ImageCaptureDevice) = Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices()
        If availableDevices.Count > 0 Then
            System.Console.WriteLine("Available devices:")
            For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In availableDevices
                System.Console.WriteLine(device.FriendlyName)
            Next
        Else
            System.Console.WriteLine("No connected devices.")
        End If

        ' start monitoring
        monitor.Start()
        System.Console.WriteLine("Monitoring started.")

        ' wait while any key pressed
        System.Console.ReadKey()

        ' stop monitoring
        monitor.[Stop]()
    End Sub

    Private Shared Sub monitor_CaptureDevicesChanged(sender As Object, e As Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs)
        For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In e.AddedDevices
            System.Console.WriteLine("Device '{0}' connected.", device.FriendlyName)
        Next

        For Each device As Vintasoft.Imaging.Media.ImageCaptureDevice In e.RemovedDevices
            System.Console.WriteLine("Device '{0}' disconnected.", device.FriendlyName)
        Next
    End Sub
End Class


class ImageCaptureDeviceMonitor_Example
{
    public static void Test()
    {
        // create monitor
        Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor monitor = 
            new Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor();
        monitor.CaptureDevicesChanged += 
            new System.EventHandler<Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs>(monitor_CaptureDevicesChanged);
        monitor.Timeout = 500;

        // show information about available devices
        System.Collections.ObjectModel.ReadOnlyCollection<Vintasoft.Imaging.Media.ImageCaptureDevice> availableDevices = 
            Vintasoft.Imaging.Media.ImageCaptureDeviceConfiguration.GetCaptureDevices();
        if (availableDevices.Count > 0)
        {
            System.Console.WriteLine("Available devices:");
            foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in availableDevices)
                System.Console.WriteLine(device.FriendlyName);
        }
        else
        {
            System.Console.WriteLine("No connected devices.");
        }

        // start monitoring
        monitor.Start();
        System.Console.WriteLine("Monitoring started.");

        // wait while any key pressed
        System.Console.ReadKey();

        // stop monitoring
        monitor.Stop();
    }

    static void monitor_CaptureDevicesChanged(object sender, Vintasoft.Imaging.Media.ImageCaptureDevicesChangedEventArgs e)
    {
        foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in e.AddedDevices)
            System.Console.WriteLine("Device '{0}' connected.", device.FriendlyName);

        foreach (Vintasoft.Imaging.Media.ImageCaptureDevice device in e.RemovedDevices)
            System.Console.WriteLine("Device '{0}' disconnected.", device.FriendlyName);
    }
}

Иерархия наследования

System.Object
   Vintasoft.Imaging.Media.ImageCaptureDevicesMonitor

Требования

Целевые платформы: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

Смотрите также