LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
TargetDevices Property
See Also 
Leadtools.Multimedia Namespace > CaptureCtrl Class : TargetDevices Property



Gets or sets the target device collection object.

Syntax

Visual Basic (Declaration) 
Public Overridable ReadOnly Property TargetDevices As TargetDevices
Visual Basic (Usage)Copy Code
Dim instance As CaptureCtrl
Dim value As TargetDevices
 
value = instance.TargetDevices
C# 
public virtual TargetDevices TargetDevices {get;}
C++/CLI 
public:
virtual property TargetDevices^ TargetDevices {
   TargetDevices^ get();
}

Property Value

A TargetDevices object representing the capture output devices.

Example

Visual BasicCopy Code
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public Sub TargetDevicesExample()
   ' reference the capture control
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl

   Try
      ' try to find a USB camera
      If capturectrl.VideoDevices("USB") Is Nothing Then
         Throw New Exception("No USB video device available")
      End If

      capturectrl.VideoDevices("USB").Selected = True

      ' try to find a USB audio device
      If capturectrl.AudioDevices("USB") Is Nothing Then
         Throw New Exception("No USB audio device available")
      End If

      capturectrl.AudioDevices("USB").Selected = True

      ' set the target device, select the first target device
      Dim Devices As TargetDevices = capturectrl.TargetDevices
      If Devices(0) Is Nothing Then
         Throw New Exception("No target device available")
      End If

      Devices.Selection = 0

      ' set MPEG2 as the video compressor
      capturectrl.VideoCompressors.Mpeg2.Selected = True

      ' set AC3 as the audio compressor
      capturectrl.AudioCompressors.AC3.Selected = True

      ' set the target output format
      capturectrl.TargetFormat = TargetFormatType.AVI


      ' check if we have can capture video
      If capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio) Then
         capturectrl.FrameRate = 5 ' 5 frames per second
         capturectrl.UseFrameRate = True
         capturectrl.TimeLimit = 10 ' just 10 seconds of capture time
         capturectrl.UseTimeLimit = True

         ' subscribe to the compete event
         AddHandler capturectrl.Complete, AddressOf CaptureCtrl_Complete

         ' start the capture process
         capturectrl.StartCapture(CaptureMode.VideoAndAudio)

         ' we'll loop on the state and pump messages for this example.
         ' but you should not need to if running from a Windows Forms application.
         Do While capturectrl.State = CaptureState.Running
            Application.DoEvents()
         Loop
      End If
   Catch e1 As Exception
      _result = False
   End Try
End Sub

Private Sub CaptureCtrl_Complete(ByVal sender As Object, ByVal e As EventArgs)
   _result = True
End Sub
C#Copy Code
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
// capture control
CaptureCtrl capturectrl;

public void TargetDevicesExample()
{
   // reference the capture control
   capturectrl = _form.CaptureCtrl;

   try
   {
      // try to find a USB camera
      if (capturectrl.VideoDevices["USB"] == null)
      {
         throw new Exception("No USB video device available");
      }

      capturectrl.VideoDevices["USB"].Selected = true;

      // try to find a USB audio device
      if (capturectrl.AudioDevices["USB"] == null)
      {
         throw new Exception("No USB audio device available");
      }

      capturectrl.AudioDevices["USB"].Selected = true;

      // set the target device, select the first target device
      TargetDevices Devices = capturectrl.TargetDevices;
      if (Devices[0] == null)
      {
         throw new Exception("No target device available");
      }

      Devices.Selection = 0;

      // set MPEG2 as the video compressor
      capturectrl.VideoCompressors.Mpeg2.Selected = true;

      // set AC3 as the audio compressor
      capturectrl.AudioCompressors.AC3.Selected = true;

      // set the target output format
      capturectrl.TargetFormat = TargetFormatType.AVI;


      // check if we have can capture video
      if (capturectrl.IsModeAvailable(CaptureMode.VideoAndAudio))
      {
         capturectrl.FrameRate = 5;
         // 5 frames per second
         capturectrl.UseFrameRate = true;
         capturectrl.TimeLimit = 10;
         // just 10 seconds of capture time
         capturectrl.UseTimeLimit = true;

         // subscribe to the compete event
         capturectrl.Complete += new EventHandler(CaptureCtrl_Complete);

         // start the capture process
         capturectrl.StartCapture(CaptureMode.VideoAndAudio);

         // we'll loop on the state and pump messages for this example.
         // but you should not need to if running from a Windows Forms application.
         while (capturectrl.State == CaptureState.Running)
         {
            Application.DoEvents();
         }
      }
   }
   catch (COMException)
   {
      _result = false;
   }
   catch (Exception)
   {
      _result = false;
   }
}

public void CaptureCtrl_Complete(object sender, EventArgs e)
{
   // set result
   _result = true;
}

Remarks

The TargetDevices object is used to enumerate and select capture output devices.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also